我试图用一个车把每个迭代器中的模板以下代码块: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