【发布时间】:2022-07-20 17:59:36
【问题描述】:
我想创建一个自定义模块,使用 API,我需要创建一个 JavaScript 函数来返回 API 数据,并在另一个自定义模块中从另一个 JavaScript 文件调用这个 JavaScript 函数。
【问题讨论】:
标签: javascript drupal drupal-9
我想创建一个自定义模块,使用 API,我需要创建一个 JavaScript 函数来返回 API 数据,并在另一个自定义模块中从另一个 JavaScript 文件调用这个 JavaScript 函数。
【问题讨论】:
标签: javascript drupal drupal-9
当然!这是一个例子:
在第一个模块中,在 my_function javascript 文件中命名 test1:
(function ($, Drupal, drupalSettings) {
'use strict';
Drupal.behaviors.test1_my_functions = Drupal.behaviors.test1_my_functions || {};
Drupal.behaviors.test1_my_functions = {
attach: function (context) {
},
targetFunction: function() {
console.log('Use it !');
}
}
})(jQuery, Drupal, drupalSettings);
然后在示例 javascript 文件中的模块 test2 中:
(function ($, Drupal, drupalSettings) {
'use strict';
Drupal.behaviors.test2_example = Drupal.behaviors.test2_example || {};
Drupal.behaviors.test2_example = {
attach: function (context) {
Drupal.behaviors.test1_my_functions.targetFunction();
}
}
})(jQuery, Drupal, drupalSettings);
不要忘记在 info.yml 中为模块“test2”定义依赖关系,在“test2.info.yml”中定义“test1”和在 javascript 库“test2.libraries.yml”中的依赖关系
example:
js:
js/example.js: {}
dependencies:
- core/jquery
- core/jquery.once
- core/drupal
- core/drupalSettings
- test1/my_functions
【讨论】: