我正在尝试在meteorJS中创建一个包含两个集合的双向表,我可以将父模板中的一个集合的名称传递给子模板。
项目是x轴,项目2是y轴。
我的收藏:
db.Item.insert({
"name" : "hello",
"param1" : "ok",
"param2" : "ok",
"parma3" : "na"
});
db.Item.insert({
"name" : "bonjour",
"param1" : "na",
"param2" : "ok",
"parma3" : "ok"
});
db.Item2.insert({
"id" : "01",
"nameIt2" : "nameS"
});
db.Item2.insert({
"id" : "02",
"nameIt2" : "name"
});
我的代码HTML:
<template name="home">
<table class="table maintable">
<!--Entête du tableau (première ligne)-->
<tbody>
{{#each event}}
{{> eventItem}}
{{/each}}
</tbody>
</table>
</template>
<template name="eventItem">
<tr>
{{#each event2}}
{{> eventItem2}}
{{/each}}
</tr>
</template>
<template name="eventItem2">
<td>
{{nameItem}}
</td>
</template>
我的JS代码:
Template.home.helpers({
event() {
return Item.find();
},
});
Template.eventItem.helpers({
event2() {
return Item2.find();
},
});
Template.eventItem.helpers({
event2() {
return Item2.find();
},
});
Template.eventItem2.helpers({
nameItem() {
return **Name field of my collection Item**
},
});
有没有办法将父项模板 eventItem 的名称传递给子模板 eventItem2 ?
答案 0 :(得分:1)
是的,您可以使用Template.parentData
访问父模板的数据:
Template.eventItem2.helpers({
nameItem() {
return Template.parentData().name;
},
});
答案 1 :(得分:1)
您只需在您的子模板中设置值,然后传递数据。
您可以传递这样的数据:
<template name="home">
<table class="table maintable">
<!--Entête du tableau (première ligne)-->
<tbody>
{{#each event}}
{{> eventItem childEvent=this}}
{{/each}}
</tbody>
</table>
</template>
<template name="eventItem">
<tr>
{{#each childEvent}}
{{> eventItem2 nameItem=this}}
{{/each}}
</tr>
</template>
<template name="eventItem2">
<td>
{{nameItem}}
</td>
</template>
*注意:这表示#each
中的当前值