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

How do I access object keys in Handlebars templates?

我正在将其传递到我的模板中。

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}}

你可以做到

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

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

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

对于数组:

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

对象:

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

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