我想在模块中创建一个函数,该函数可以处理各种依赖项,但在模板中调用,到目前为止我只收到函数未定义的错误。我哪里出错了,还是这根本不可能?
helper.js 模块
define(['aDependency'],function(){
var sayHi = function(){
console.log('Hi');
};
return{
sayHi: sayHi
}
我的主文件中需要此模块
requirejs(['lib/helper']);
我想在我的模板中使用该函数;
<button data-remodal-action="confirm" onClick="sayHi()"/>
但是我得到了一个 undefinde 函数。
非常感谢任何帮助。
干杯
最佳答案
您似乎正在尝试调用 sayHi
函数就像在全局范围内一样,但这并不是因为 requirejs 模块具有隔离范围
像这样使用它 - <button data-remodal-action="confirm" onClick="sayHi()"/>
你应该做类似的事情
requirejs(['lib/helper'], function(helper){
window.sayHi = helper.sayHi;
});
但设置从 HTML 调用的全局变量是一种反模式。我建议你做这样的事情
HTML:
<button id="sayHiButton" data-remodal-action="confirm"></button>
JS:
requirejs(['lib/helper'], function(helper){
document.getElementById('sayHiButton').addEventListener('click', function(){
helper.sayHi();
});
});
关于javascript - RequireJS 从模块返回一个函数以在模板中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36217131/