在上下文中传递给流星模板的函数被剥离

时间:2013-05-27 01:36:42

标签: javascript meteor handlebars.js

我将一个上下文对象传递到我的meteor / handlebars模板中,该模板名为menu,来自javascript with

var context = {
    keyForString: 'string!',
    keyForFunction: function(){console.log('function!');}
};

return Template.menu(context); //to be rendered later

在我的Template.menu.functions中,this变量只有keyForStringkeyForFunction(以及该功能)显然已被剥夺。

这是预期的吗?如果是这样,我如何将回调传递给我的模板代码?我想提供一个模板在单击菜单上的项目时应该调用的函数。

我希望模板的实例可以共享布局代码,但不必共享事件。例如,我有类似

的东西
Template.menu.events = {
    'click button': function() { 
        this.keyForFunction(); 
    }
}

因此,单击实例A中的按钮可以执行一项操作,单击B中的按钮可以执行另一项操作,具体取决于我在keyForFunction中传递的功能。

1 个答案:

答案 0 :(得分:0)

事实证明,这完全如上所述。将对象存储在Session中,我正在考虑这些对象,但这些对象无关紧要,这就是剥离函数的原因。