我試圖用一個車把每個迭代器中的模板以下代碼塊:Hanlebars每個幫助上下文
<table>
<tr><th></th><th>Today</th><th>This Month<br>(To Date)</th><th>Last Month</th></tr>
{{#each Activities}}
{{examineObject this}} - first -
<tr><td>{{examineObject this}}</td>
<td>{{Today}}</td>
<td>{{ThisMonth}}</td>
<td>{{LastMonth}}</td></tr>
{{examineObject this}} - third -
{{/each}}
<tr class='total'><td>Net Change</td>
<td>{{Totals.Today}}</td>
<td>{{Totals.ThisMonth}}</td>
<td>{{Totals.LastMonth}}</td></tr>
</table>
examineObject
是車把幫助我寫簡單地調用JSON.stringify()
的變量。我正在做這個來評估上下文。幫手很簡單:
examineObject: function(object){
return JSON.stringify(object);
}
當我編譯和渲染上面的模板時,發生了一些非常奇怪的事情。在第一個和第三個examineObject
調用this
的上下文是由迭代器each
選擇的個人activity
。但是,this
中的第二個examineObject
調用(由html標記包圍)的上下文是整個模板的上下文 - 而不是上下文中的個人activity
由each
迭代器選擇。任何人都可以解釋爲什麼這會是?
請發佈你的幫手的代碼。 – gfullam 2014-09-30 14:25:36
這對助手來說並不是問題,因爲即使我不使用助手來測試,上下文也會混亂。不過,我發佈了幫手。 – 2014-09-30 14:27:40
這是你如何設置的?適用於我:http://jsfiddle.net/gfullam/5rbpja10/ – gfullam 2014-09-30 14:37:52