模板的資料上下文

無論何時呼叫模板,都會從呼叫者隱式獲取模板的預設資料上下文,例如,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>