Templates 如何获取模板对象数据以在Meteor模板中持久化?
我希望在使用模板事件处理程序函数时能够设置/获取模板对象的数据。我尝试在呈现模板时设置一个变量,并希望稍后可以访问该变量,在这种情况下,当用户单击模板中的某个元素时,该变量不起作用:Templates 如何获取模板对象数据以在Meteor模板中持久化?,templates,meteor,Templates,Meteor,我希望在使用模板事件处理程序函数时能够设置/获取模板对象的数据。我尝试在呈现模板时设置一个变量,并希望稍后可以访问该变量,在这种情况下,当用户单击模板中的某个元素时,该变量不起作用: <template name="fooBar"> <div class="some_element">CLICK ME</div> </template> Template.fooBar.rendered = function(){ this.tem
<template name="fooBar">
<div class="some_element">CLICK ME</div>
</template>
Template.fooBar.rendered = function(){
this.templateVar = "Hello";
}
Template.fooBar.events({
'click .some_element': function(e,t){
alert(this.templateVar); // Should say 'Hello', but is 'undefined'.
}
});
点击我
Template.fooBar.rendered=函数(){
this.templateVar=“Hello”;
}
Template.fooBar.events({
“click.some_元素”:函数(e,t){
警报(this.templateVar);//应该说“Hello”,但为“未定义”。
}
});
使用反应式dict包,您可以这样做
首先添加它
meteor add reactive-dict
第二步创建模板。(注意im使用meteor 1.1版本)
根据Sindis的建议,这是解决问题的最快方法: 而不是
alert(this.templateVar);
。。。只要做
警报(this.templateVar)代码>或警报(Template.instance().templateVar)代码>您能够使用会话吗?t.templateVar或Template.instance()。templateVarTemplate.instance在渲染和事件处理程序上获得了一个
alert(this.templateVar);