2017-02-16 132 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

當前值
相關問題