Ditt enda problem är att försöka iterera en markör och en undermatris inom samma varje block. Om du separerar dina items
mall och ett enskilt item
mall, kommer du att få ditt önskade resultat.
För förenklingens skull ändrade jag din kod så att den ser ut så här:
Det här är din huvuddel:
<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>
Och det här är din hjälpare:
Template.items.helpers({
items: function () {
return Items.find();
}
})
Förutsatt att ett objektdokument ser ut så här:
{
itemText: String,
itemTags: Array
}
Jag har skapat en app på Meteorpad som du kan leka med:
http://meteorpad.com/pad/BmRQ5fkwWEMBKszJW/SO-27951102
du kan ytterligare ändra koden där och se ändringarna i realtid. Det är i princip jsfiddle för meteor.
Redigera: inspirerad av @chip-castles kommentar kan du faktiskt använda en enda mall med kapslad each
block:
<template name="items">
{{#each items}}
<h2>{{itemText}} tags are:</h2>
<ul>
{{#each itemTags}}
<li>{{this}}</li>
{{/each}}
</ul>
{{/each}}
</template>
Men att använda separata mallar är mer flexibelt i både design och hantering av händelser där det behövs.