从Template中访问“this.data”的问题

时间:2012-12-23 05:07:34

标签: meteor

从文档中我可以看出,您可以使用“this.data”从渲染回调中访问模板数据上下文。但是每当我尝试这个时,我都会得到不确定的。使用基本流星示例https://gist.github.com/4362039

的示例

其他人有此问题吗?或者有一个工作示例,您可以访问this.data?

2 个答案:

答案 0 :(得分:7)

@ parkej3,你是正确的this.data是从创建,渲染和销毁的回调中访问模板的数据上下文的方法。但是:小心这一点很重要(双关语)因为创建,呈现和销毁的回调中的this是模板实例,而在模板助手中,this指的是模板的数据上下文。

如果未使用数据上下文调用相关模板,则

this.data将被定义。

正如@Rahul所提到的,如果模板在{{#with}}{{#each}}块内部呈现,则模板将具有数据上下文,在这种情况下,这些语句为模板实例提供其数据上下文。 {{#with contextObject}}contextObject分配给this.data,而{{#each items}}{{>item}}{{/each}}会将item模板的this.data设置为每个项目的相关项目。< / p>

答案 1 :(得分:2)

same documentation中,如果向上滚动一下,您会找到以下句子:

  

模板实例对象在创建,呈现和销毁的模板回调中作为this的值被找到,并作为事件处理程序的参数。

正如Diogenes建议的那样,你正在寻找this。如果您有嵌套模板并想要查找当前所在的上下文对象(例如,如果您的模板包含{{#each}}循环),则this.data非常有用。