2017-02-15 1 views
0

だから、私はこのようなオブジェクトを持っている: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}} 

どのようにすればいいですか?

+0

別の方法としては、このようにその上にオブジェクトと反復に両方のあなたのグループを置くことができます。 JavaScriptで配列を連結し、代わりに連結配列を使用することもできます。 – Visrozar

答えて

0

ハンドルバー自体はこれをサポートしていません。 しかし、あなたはまだやることができます:

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

簡単な解決策になると思われます。あなたがハンドルバーにそれを行うことはできません

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

関連する問題