handlebars.js “each” loop inside another “each” lo

2019-03-09 09:55发布

问题:

Suppose I want to build a dynamic table. How do I run each inside each. If the only varible that represents current item is this.

   {{#each by_width}}
       {{#each by_height}}
          {{this}} // how do refer to this from the outer loop?
       {{/each}}
   {{/each}}

回答1:

You can use ../ to access the parent in a Handlebars template:

{{#each by_width}}
    {{#each by_height}}
       w: {{../this}}
       h: {{this}}
    {{/each}}
{{/each}}

That of course assumes that by_height is inside each element of by_width, if they're both at the top level then you'd need another ../:

{{#each by_width}}
    {{#each ../by_height}}
       w: {{../this}}
       h: {{this}}
    {{/each}}
{{/each}}

Demo: http://jsfiddle.net/ambiguous/PNTXw/



回答2:

Don't write {{../this}} but {{..this}}.