如何在 node.js 上的车把辅助块中引用多个元素?

How to reference more than one element in an handlebars helper block on node.js?

所以,我有这样一个对象:

object = {
 "group_1": [
  {
   "name": "Foo"
  }
 ],
 "group_2": [
  {
   "name": "Bar"
  }
 ]
}

在我的 hbs 视图中,我是这样做的:

{{#each group_1}}
 <p>{{name}}</p>
{{/each}}

{{#each group_2}}
 <p>{{name}}</p>
{{/each}}

有什么方法可以连接两者而不重复代码吗?解决方案是这样的:

{{#each group_1 + group_2}}
 <p>{{name}}</p>
{{/each}}

知道怎么做吗?

Handlebars 本身不支持这个。 但你仍然可以这样做:

object.groups = object.group_1.concat(object.group_2);
{{#each groups}}
<p>{{name}}</p>
{{/each}}

这似乎是一个简单的解决方案。

或者,您可以将两个组都放入一个对象中,然后像这样对其进行迭代:

let object = {
 groups: {
  'group_1': [
   {
    'name': 'Foo'
   }
  ],
  'group_2': [
   {
    'name': 'Bar'
   }
  ]
 }
};
{{#each groups}}
    {{!-- you can refference group name as @key here --}}
 {{#each this}}
  {{name}}
 {{/each}}
{{/each}}