2017-02-16 99 views
0

我试图在meteorJS中创建一个双向表,其中我可以从父模板传递一个集合的名称到子模板。METEOR - 将数据从父模板传递到子模板

Item是x轴,Item2是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

回答

1

是的,你可以使用Template.parentData访问父模板的数据:

Template.eventItem2.helpers({ 
    nameItem() { 
    return Template.parentData().name; 
    }, 
}); 
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

当前值
相关问题