Often, you'll find yourself in situations, where you want to pass some server-side string/array/collection/whatever to your JavaScript. Traditionally, this can be a bit of a pain - especially as your app grows.
This package simplifies the process drastically.
Download vars_to_javascript to module direcotry, then run composer install
-
enable the moudle
-
pass php vars
$javascript= \Drupal::service('javascript');
$variabes = ['aa' => 32, 'bb' => 'cc', 'dd' => [23421,3423]];
$javascript->put($variabes);
- use it in frontend
Using the code above, you'll now be able to access
aa
,bb
, anddd
from your JavaScript.
console.log(php.aa); // 32
console.log(php.bb); // cc
You can your own namespace in settings.php like
$settings['js_namespace'] = 'phpjs';
GPL