(function ($, Drupal) {
var myData = null;
Drupal.behaviors.customJs = {
attach: function (context, settings) {
if (settings.my_module && settings.my_module.myData) {
myData = settings.my_module.myData;
if (myData.length > 0 && myData[0].back_file && myData[0].back_file.url) {
this.load.image("card-back", myData[0].back_file.url);
}
}
}
};
})(jQuery, Drupal);
< /code>
Я хочу иметь возможность использовать мою переменную mydata снаружи, потому что я использую библиотеку Phaser и если я определяю класс в этой функции, чтобы использовать мою переменную, она становится незамедлительным для моих других файлов, которые Используйте его
для конкретного примера, я пытаюсь сделать это: < /p>
class Preloader extends Phaser.Scene
{
constructor()
{
super({
key: 'Preloader'
});
}
preload ()
{
(function ($, Drupal) {
var myData = null;
Drupal.behaviors.customJs = {
attach: function (context, settings) {
if (settings.my_module && settings.my_module.myData) {
myData = settings.my_module.myData;
}
}
};
})(jQuery, Drupal);
this.load.image("card-back", myData[0].back_file.url);
}
create ()
{
this.scene.start("Play");
}
После отправки данных из моего PHP на мой JS с DrupalSettings я могу использовать эти данные только в функции < /p> [code](function ($, Drupal) { var myData = null; Drupal.behaviors.customJs = { attach: function (context, settings) { if (settings.my_module && settings.my_module.myData) { myData = settings.my_module.myData; if (myData.length > 0 && myData[0].back_file && myData[0].back_file.url) { this.load.image("card-back", myData[0].back_file.url); } } } }; })(jQuery, Drupal); < /code> Я хочу иметь возможность использовать мою переменную mydata снаружи, потому что я использую библиотеку Phaser и если я определяю класс в этой функции, чтобы использовать мою переменную, она становится незамедлительным для моих других файлов, которые Используйте его для конкретного примера, я пытаюсь сделать это: < /p> class Preloader extends Phaser.Scene { constructor() { super({ key: 'Preloader' }); }