1

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

还有其他人对此有疑问吗?或者有一个可以访问 this.data 的工作示例?

4

2 回答 2

7

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

this.data当未使用数据上下文调用相关模板时,将未定义。

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

于 2012-12-24T08:24:58.227 回答
2

同一个文档中,如果您向上滚动一点,您会发现以下句子:

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

因此,正如第欧根尼建议的那样,您正在寻找this. this.data如果您有嵌套模板并希望找到您当前所在的上下文对象(例如在您有一个包含 {{#each}} 循环的模板的情况下),这很有用。

于 2012-12-23T19:51:06.533 回答