1

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?

staeff
  • 31
  • 1
  • 6
  • Because partials has its own context, which you passed in. Construction `{{> list}}` is equivalent to `{{> list this}}`. – raidendev Sep 12 '14 at 13:15
  • Hi raidendev, thanks for answering. I have read up on the context, but am still confused. Wouldn't be `this` the right context, for what I want to do? – staeff Sep 12 '14 at 14:08
  • 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 Sep 12 '14 at 14:14

1 Answers1

0

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.

Community
  • 1
  • 1
staeff
  • 31
  • 1
  • 6