Как добавить глобальную переменную в пользовательский файл js
Я добавил свой пользовательский скрипт, завернутый в:
(function ($) {
Drupal.behaviors.exampleModule = {
attach: function (context, settings) {
Но не может создать глобальную переменную внутри нее
1
1 answers
Вы можете сделать что-то вроде
(function ($, Drupal, undefined) {
var my_global;
Drupal.behaviors.exampleModule = {
attach: function (context, settings) {
my_global = 1234;
}
}
})(jQuery, Drupal)
И правила цепочки областей действия Javascript сделают my_global
видимым для всего вашего закрытия . Если вам нужен настоящий глобальный, переместите объявление my_global
:
var my_global;
(function ($, Drupal, undefined) {
Drupal.behaviors.exampleModule = {
attach: function (context, settings) {
my_global = 1234;
}
}
})(jQuery, Drupal)
Лично мои файлы JS для Drupal начинаются как
var MYMODULE = (function(me, $, Drupal, undefined) {
me.name = "MYMODULE";
function attach (context, settings) {
console.log(me.name + ".attach()");
}
Drupal.behaviors[me.name] = {
attach: attach
};
return me;
}(MYMODULE || {}, jQuery, Drupal));
И затем я добавляю локальные значения для переменных всего модуля или непосредственно в модуль, если они нужны другим модулям. В статье Шаблон модуля JavaScript: Подробно объясняется это очень хорошо.
15
Author: mpdonadio, 2017-05-23 12:41:25