【问题标题】:How to reference more than one element in an handlebars helper block on node.js?如何在 node.js 上的车把辅助块中引用多个元素?
【发布时间】:2017-02-16 01:04:59
【问题描述】:

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

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

知道怎么做吗?

【问题讨论】:

  • 你不能在车把上做到这一点。另一种选择是在 JavaScript 中连接数组,然后使用连接的数组。

标签: javascript node.js npm handlebars.js node-modules


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-03
    • 2013-08-13
    • 1970-01-01
    • 2016-01-10
    • 2016-10-04
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    相关资源
    最近更新 更多