直接从空格键访问模板实例对象属性
Access template instance object properties directly from Spacebars
正如Meteor文档所述,
模板实例对象表示一个模板在文档中出现。它可以用来访问DOM,并且可以为它分配属性,这些属性会随着模板的响应性更新而持续存在。[…你可以为对象指定你选择的附加属性。
如何从空格键模板访问这些属性?
必须定义除了
之外什么都不做的帮助程序是很麻烦的。return Template.instance().myProperty
就像@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()
。
编辑
根据本文,您可以在HTML中执行以下操作:{{Template.instance.test.get}}
所以不需要全局帮助器,它可以从空格键访问,所以不需要帮助器
OP希望直接访问数据,而不需要任何帮助。您需要将数据存储在Template.currentData()
或Template.parentData(n)
中。其中的任何内容都可以分别作为{{myData}}
或{{../myParentData}}
访问。
我认为您可以使用{{#与}}{{和}}
例如{{#with getObject}}
<h1>{{prop1}}</h1>
<h2>{{prop2}}</h2>
{{/with}}
and in helper
getObject:function(){
return {prop1:'some text prop1',prop2:'some text prop2'}
}
相关文章:
- 使用jQuery获取Dropzone实例/对象
- 在requirejs中共享实例化对象
- Mongoose TypeError:实例化模式类型的对象时,对象不是函数
- 代码挑战:创建一个跟踪对象实例总数的类Foo
- JavaScript:如果现有对象被实例化为具有特定值,如何创建警报
- 用javascript创建另一个对象的实例
- Backbone relational无法实例化两个RelationalModel对象
- 创建一个类,该类使用es6类语法将Function对象创建为实例
- 为什么属性存在于对象实例上,即使其原型发生了更改
- 如何在angularJS中获得对指令对象实例的引用
- 无法将值从实例对象传输到父类的实例数组中
- Javascript 原型 - 不仅适用于实例对象
- 如何在 angular 的控制器中使用用户定义的类实例/对象
- 三.js不是三的实例.对象3D
- 实例对象的私有状态的以下实现存在缺陷
- ES6 setter -保持对象干净//映射实例对象上的参数
- 直接从空格键访问模板实例对象属性
- 理解AngularJS $resource()返回什么(类或实例对象)
- 在Chrome原生消息传递:有多长是本地应用实例对象的生命周期
- 集合/实例对象样式为没有proto的vie javascript