我有一个函数不在dojo函数的require部分之外。
此函数需要调用驻留在dojo require块内的函数。
如何从位于dojo require块外部的函数中调用require代码块中的函数?
也许更多的应用程序流程将证明需求
答案 0 :(得分:0)
这是一个骇人听闻的解决方案,如果可能的话,您应该认真考虑一种重新排列模块的方法,但这至少应该有效:
var inside = null;
function outside () {
try { inside(); }
catch (err) { /* log error or throw away, whatever */ }
}
require(['dojo/_base/declare', ..., 'your/module/function'], function (declare, ..., myModuleFunction) {
inside = myModuleFunction;
outside();
});
仅require
个包含函数的模块(在示例中分别命名为"your/module/function"
和myModuleFunction
),将其存储在require和在已经 outside 定义的函数中调用它。我添加了一个try-catch
块,因为它是一种很好的措施,并且可以防止在您过早调用outside
时导致代码爆炸。
如果功能 inside 中的dojo require块不是模块,则几乎是相同的:
var inside = null;
function outside () {
try { inside(); }
catch (err) { /* log error or throw away, whatever */ }
}
require(['dojo/_base/declare'], function (declare) {
inside = function () { console.log('Inside the require block'); };
outside();
});
除了您不必require
。
答案 1 :(得分:0)
谈论黑客...这是我为获得所需结果而要做的事情。
我在表单上创建了一个隐藏按钮,绑定了click事件以触发该功能。
收到并处理了邮件后,我触发了按钮单击事件-中提琴!
感谢大家的帮助。