0
假设我正在使用模块模式,例如RequireJS,并且我将模块A发送到模块B中。如何从模板调用“依赖注入”JavaScript函数?
现在在我的模块中,我想使用模板引擎生成HTML,但为了解决问题,可以说我手动创建HTML字符串。在那个HTML字符串中,我想创建一个按钮来调用模块“a”提供的函数。
但我显然不能只是做:
define([ "a.js" ], function(a) {
var html = "<button onclick='a.myfunction();'>Click me!</button>";
});
我该怎么办呢?从JavaScript跨越到“HTML-String”,当我无法调用全局函数时,因为它的所有模块为基础?
define([ "a.js" ], function(a) {
var html = "<button onclick='*** HERE I WANT TO CALL A FUNCTION PROVIDED WITH A***'>Click me!</button>";
});
我知道我可以通过JavaScript手动添加事件 - 但不打破使用模板语言+引擎的整个想法? – corgrath 2013-02-18 21:43:52
@corgrath这个建议比内联事件处理程序更好。 – bfavaretto 2013-02-18 21:46:52
@corgrath我在这里没有看到任何问题。在任何情况下,你的模块负责生成一个HTML,那么为什么不事后处理事件处理程序呢?如果你仍然想使用按钮的onclick事件,我相信你可以在你的模板中做这样的事情:''但我不会这样做 - 它丑陋无效...... – nexuzzz 2013-02-19 04:55:31