我有一个集合A,它有一个不同ID的嵌入式数组。 这些ID是集合B的ID。
如何在模板中循环到所有这些B的id并获取相关的?
模板:
<template name="Atemplate">
<h1>Name of A : {{name}}</h1>
{{#each Bs}}
{{> Btemplate}}
{{/each}}
</template>
B模板:
<template name="Btemplate">
<h1>Name of B : {{name}}</h1>
</template>
B template.js怎么样?
答案 0 :(得分:1)
如果我理解正确的问题,Btemplate
的上下文就是id
。因此,在name
帮助器中,您可以通过id
找到该文档,如下所示:
Template.Btemplate.helpers({
name: function() {
var doc = B.findOne(String(this));
return doc && doc.name;
}
});
或者(最好有人)将Btemplate
上下文设置为B
的实例:
Template.Atemplate.helpers({
allBs: function() {
return B.find({_id: {$in: this.Bs}});
}
});
您需要修改A template
代码,如下所示:
{{#each allBs}}
{{> Btemplate}}
{{/each}}
现在您不需要修改Btemplate
的原始实现。我还建议您阅读here中的模板文章。