我有一个包含以下数据的集合。
{
containerId: "content-left",
content: "<p>Some text for the left side</p>"
},
{
containerId: "content-right",
content: "<p>Some text for the right side</p>"
}
我想遍历每个文档并获取containerId,然后将其与id匹配,并仅插入与id匹配的containerId中的内容。
//模板
<template name="mainLeft">
<section id="content-left" class="content">
{{#each copy}}
{{{content}}}
{{/each}}
</section>
</template>
<template name="mainRight">
<section id="content-right" class="content">
{{#each copy}}
{{{content}}}
{{/each}}
</section>
</template>
目前,我只是从集合中获取所有数据并将其插入每个部分,因此它看起来像这样
<section id="content-left" class="content">
<p>Some text for the left side</p>
<p>Some text for the right side</p>
</section>
<section id="content-right" class="content">
<p>Some text for the left side</p>
<p>Some text for the right side</p>
</section>
// HELPER
UI.registerHelper('copy', function() {
return ContentCollection.find();
});
所以它应该看起来像这样
<section id="content-left" class="content">
<p>Some text for the left side</p>
</section>
<section id="content-right" class="content">
<p>Some text for the right side</p>
</section>
答案 0 :(得分:1)
您应该注册两个单独的模板助手。
UI.registerHelper('copyLeft', function() {
return ContentCollection.find({containerId:'content-left'});
});
UI.registerHelper('copyRight', function() {
return ContentCollection.find({containerId:'content-right'});
});
然后,您可以使用copyLeft和copyRight
替换模板中的副本<section id="content-left" class="content">
{{#each copyLeft}}
{{{content}}}
{{/each}}
</section>
<section id="content-right" class="content">
{{#each copyRight}}
{{{content}}}
{{/each}}
</section>
如果您想要更灵活,您还可以将参数传递给帮助者
UI.registerHelper('copy', function(container) {
return ContentCollection.find({containerId:container});
});
然后你可以像这样使用它:
<section id="content-left" class="content">
{{#each copy 'content-left'}}
{{{content}}}
{{/each}}
</section>
<section id="content-right" class="content">
{{#each copy 'content-right'}}
{{{content}}}
{{/each}}
</section>