唯一の問題は、同じ各ブロック内でカーソルとサブ配列を反復しようとすることです。 items
を分離する場合 テンプレートと個々のitem
テンプレートを使用すると、目的の結果が得られます。
簡単にするために、コードを次のように変更しました。
これがあなたの本体です:
<body>
{{> items}}
</body>
<template name="items">
{{#each items}}
{{> item}}
{{/each}}
</template>
<template name="item">
<h2>{{itemText}} tags are:</h2>
<ul>
{{#each itemTags}}
<li>{{this}}</li>
{{/each}}
</ul>
</template>
そして、これはあなたのヘルパーです:
Template.items.helpers({
items: function () {
return Items.find();
}
})
アイテムドキュメントが次のようになっていると仮定します:
{
itemText: String,
itemTags: Array
}
Meteorpadでアプリを作成しました:
http://meteorpad.com/pad/BmRQ5fkwWEMBKszJW/SO-27951102
そこでコードをさらに変更して、変更をリアルタイムで確認できます。基本的には流星のjsfiddleです。
編集: @ chip-castleのコメントに触発されて、実際にはネストされたeach
を持つ単一のテンプレートを使用できます ブロック:
<template name="items">
{{#each items}}
<h2>{{itemText}} tags are:</h2>
<ul>
{{#each itemTags}}
<li>{{this}}</li>
{{/each}}
</ul>
{{/each}}
</template>
ただし、個別のテンプレートを使用すると、必要に応じてイベントの設計と処理の両方でより柔軟になります。