如何在Handlebars模板中访问对象键?

时间:2015-02-17 20:42:03

标签: handlebars.js

我将其传递给我的模板。

modules: {
  left: [],
  center: ['card', 'progressChart', 'tableOfChildren'],
  right: ['activity', 'details', 'triggers']
}

我想做这样的事情......(我认为不会起作用的伪代码)

{{#each region in modules}}
  <div class="{{region}}">
  {{#each region}}
    <div class="{{this}} module"></div>
  {{/each}}
  </div>
{{/each}}

2 个答案:

答案 0 :(得分:5)

你可以做到

{{#each modules}}
  <div class="{{@key}}">
  {{#each this}}
    <div class="{{this}} module"></div>
  {{/each}}
  </div>
{{/each}}

参考:http://handlebarsjs.com/builtin_helpers.html#iteration

答案 1 :(得分:4)

可能duplicate,其中Jon提供了最佳解决方案:

对于数组:

{{#each myArray}}
    Index: {{@index}} Value = {{this}}
{{/each}}

对象:

{{#each myObject}}
    Key: {{@key}} Value = {{this}}
{{/each}}

请注意,只会枚举通过hasOwnProperty测试的属性。