模板实例对象表示文档中出现的模板。它可以用于访问DOM,并且可以为其分配属性,这些属性在模板被反应更新时持久存在。 [...]您可以将您选择的其他属性分配给对象。
如何从Spacebar模板访问这些属性?
必须定义只执行
的帮助程序是很麻烦的return Template.instance().myProperty
答案 0 :(得分:4)
就像@apendua在评论中所说,你可以使用全球助手,这对我有用:
Template.mainPage.onCreated(function(){
this.test = new ReactiveVar('stackoverflow');
});
Template.registerHelper('instance', function(context, options) {
return Template.instance()[context].get();
});
和HTML
{{instance 'test'}}
您也可以使用Template.currentData()
。
根据this article你可以用HTML做的事情:
{{Template.instance.test.get}}
因此不需要全局帮助程序,并且可以从Spacebars访问它,因此不需要帮助程序
答案 1 :(得分:1)
OP希望在没有任何助手的情况下直接访问数据。您需要将数据存储在Template.currentData()
或Template.parentData(n)
中。其中的任何内容都可以分别以{{myData}}
或{{../myParentData}}
的形式访问。
答案 2 :(得分:0)
我认为你可以使用{{#with}} {{/ with}}
例如
{{#with getObject}}
<h1>{{prop1}}</h1>
<h2>{{prop2}}</h2>
{{/with}}
和帮助
getObject:function(){
return {prop1:'some text prop1',prop2:'some text prop2'}
}