问题
I replaced some repeating code in my file with a partials, but now the call of an relative part is not working anymore.
I have this data-structure:
var data = { staff: [
{"name": "Alan"},
{"name": "Bettina"}
],"company": "Rad, Inc."};
The original template looks like this:
<script id="first_template" type="text/x-handlebars-template">
{{#each staff}}
<li>Name: {{name}} , Company: {{../company}}</li>
{{/each}}
</script>
I changed it like this to use a partial:
<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>
In the example with the partial the company name does not get rendered. I put a working example on jsfiddle: http://jsfiddle.net/staeff/qwms6h2b/
Does anyone see, why it is not working, what I am trying to do?
回答1:
Answered by raidendev in the comments
The problem is in {{../company}} construction, because you have no upper ../ level in the partial. One of the ways to solve this is to move #each inside the partial and name it something like "staffList". But the right way is to refactor your data structure. – raidendev
Ok, I found out, that my question has been discussed and solved on stackoverflow, but I didn't know, what to search for. See question handlebars - is it possible to access parent context in a partial? for solutions to my exact problem.
来源:https://stackoverflow.com/questions/25808922/handlebars-js-relative-paths-in-partials-not-working