meteor 模板的数据上下文
例子
每当调用模板时,都会从调用者中隐式获取模板的默认数据上下文,例如,childTemplate获得parentTemplatei.e调用者模板的数据上下文。
<template name="parentTemplate"> {{#with someHelperGettingDataForParentTemplate}} <h1>My name is {{firstname}} {{lastname}}</h1> //一些东西在这里 {{> childTemplate}} {{/with}} </template>
在上述情况下,childTemplate.For示例将自动获取助手为父模板提取的所有数据,可以从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> //一些东西在这里 {{> childTemplate childData=someHeplerReturningDataForChild}} {{/with}} </template>
假设辅助对象someHelperReturningDataForChild返回类似{profession:“MeteorDeveloper”,hobby:“stackoverflowing”}之类的对象,则该特定对象将是childTemplate的显式数据上下文。现在在子模板中,我们可以做类似的事情
<template name="childTemplate"> <h2>My profession is {{profession}}</h2> <h3>My hobby is {{hobby}}</h3> </template>