我用偏序替换了我文件中的一些重复代码,但现在相对部分的调用不再有效了。
我有这个数据结构:
var data = { staff: [
{"name": "Alan"},
{"name": "Bettina"}
],"company": "Rad, Inc."};
原始模板如下所示:
<script id="first_template" type="text/x-handlebars-template">
{{#each staff}}
<li>Name: {{name}} , Company: {{../company}}</li>
{{/each}}
</script>
我改变了这个使用部分:
<script id="list-partial" type="text/x-handlebars-template">
<li>Name: {{name}} , Company: {{../company}}</li>
</script>
<script id="second_template" type="text/x-handlebars-template">
{{#each staff}}
{{> list}}
{{/each}}
</script>
在部分示例中,公司名称未呈现。我在jsfiddle上添加了一个工作示例:http://jsfiddle.net/staeff/qwms6h2b/
有没有人看到,为什么它不起作用,我想做什么?
答案 0 :(得分:0)
raidendev在评论中回答
问题出在{{../company}}构造中,因为在局部中没有上层../级。解决此问题的方法之一是将#each移动到partial中,并将其命名为“staffList”。但正确的方法是重构您的数据结构。 - raidendev
好的,我发现,我的问题已在stackoverflow上讨论并解决,但我不知道,要搜索什么。有关我的确切问题的解决方案,请参阅问题handlebars - is it possible to access parent context in a partial?。