模板的数据上下文
无论何时调用模板,都会从调用者隐式获取模板的默认数据上下文,例如,childTemplate 获取 parentTemplate 的数据上下文,即调用者模板
<template name="parentTemplate">
{{#with someHelperGettingDataForParentTemplate}}
<h1>My name is {{firstname}} {{lastname}}</h1>
//some stuffs here
{{> childTemplate}}
{{/with}}
</template>
在上面的情况中,childTemplate 自动获取帮助器为父模板提取的任何数据。例如,可以从 childTemplate 访问{{firstname}}和{{lastname}},如下所示。
<template name="childTemplate">
<h2>My name is also {{firstname}} {{lastname}}</h2>
</template>
我们甚至可以通过将参数传递给模板来显式定义 childTemplate 的数据上下文,如下例所示。
<template name="parentTemplate">
{{#with someHelperGettingDataForParentTemplate}}
<h1>My name is {{firstname}} {{lastname}}</h1>
//some stuffs here
{{> childTemplate childData=someHeplerReturningDataForChild}}
{{/with}}
</template>
假设帮助者 someHelperReturningDataForChild 返回像{profession:Meteor Developer
,hobby:stackoverflowing
}这样的对象,这个特定对象将是 childTemplate 的显式数据上下文。现在在儿童模板中我们可以做类似的事情
<template name="childTemplate">
<h2>My profession is {{profession}}</h2>
<h3>My hobby is {{hobby}}</h3>
</template>