sid*_*son 7 javascript handlebars.js
我理解如何横跨Handlebars中的数据源,但我偶然发现了一个我无法解决的情况.
使用"../"可以到达父模板范围,但是当迭代对象的子对象时,它似乎返回对象而不是子对象.
{{#each content.items}}
{{#if prop}}
<p>{{prop}} + {{../../variable}}</p>
{{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
如果你遍历一个名为'content'的对象,上面的代码片段工作正常,但是一旦你遍历它的孩子,'content.items'它就不再返回正确的范围.
这是一个演示这个问题的小提琴.http://jsfiddle.net/sidonaldson/MDdn2/
任何人都可以解释什么是错的?
事实证明我原来的想法是错误的。我只在 Ember.js 的上下文中使用过 Handlebars.js。Ember 提供了一些普通 Handlebars 中没有的额外助手,因此这不是一个选择。但我似乎确实弄清楚了你的问题。检查这个小提琴。
<p>IN CONTENT</p>
{{#with content}}
{{#each items}}
{{#if prop}}
<p>{{prop}} + {{../../variable}}</p>
{{/if}}
{{/each}}
{{/with}}
<p>OUTSIDE CONTENT</p>
{{#each items}}
{{#if prop}}
<p>{{prop}} + {{../../variable}}</p>
{{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么它一开始不起作用,但使用with助手后,each助手似乎起作用了。希望我已经接近你想要的了。
| 归档时间: |
|
| 查看次数: |
7864 次 |
| 最近记录: |