Единственият ви проблем е да се опитвате да итерирате курсор и подмасив в рамките на един и същ всеки блок. Ако разделите своите 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 за meteor.
Редактиране: вдъхновен от коментара на @chip-castle, всъщност можете да използвате един шаблон с вложени each
блокира:
<template name="items">
{{#each items}}
<h2>{{itemText}} tags are:</h2>
<ul>
{{#each itemTags}}
<li>{{this}}</li>
{{/each}}
</ul>
{{/each}}
</template>
Но използването на отделни шаблони е по-гъвкаво както при проектирането, така и при обработката на събития, където е необходимо.