2017-02-16 17 views
0

meteorJSに2つのコレクションを持つ双方向テーブルを作成しようとしています。親テンプレートから子テンプレートへのコレクションの名前を渡すことができます。METEOR - 親テンプレートと子テンプレートの間のデータの受け渡し

アイテムは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

答えて

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

に現在の値を表します
関連する問題