handlebars.js:部分中的相对路径不起作用

时间:2014-09-12 12:59:39

标签: handlebars.js

我用偏序替换了我文件中的一些重复代码,但现在相对部分的调用不再有效了。

我有这个数据结构:

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/

有没有人看到,为什么它不起作用,我想做什么?

1 个答案:

答案 0 :(得分:0)

raidendev在评论中回答

  

问题出在{{../company}}构造中,因为在局部中没有上层../级。解决此问题的方法之一是将#each移动到partial中,并将其命名为“staffList”。但正确的方法是重构您的数据结构。 - raidendev

好的,我发现,我的问题已在stackoverflow上讨论并解决,但我不知道,要搜索什么。有关我的确切问题的解决方案,请参阅问题handlebars - is it possible to access parent context in a partial?