2017-06-05 48 views
0

考慮下面的模板層次,有沒有收藏訂閱繼承傳遞到子模板

  1. 一個」有2模板「B」和「C」。
  2. '' 具有2個模板 'd' 和 'ë'。

我的問題是,在模板製造「一個」流星收集subcription是否可用在助手模板「è」,因爲「一個」具有「」和「'has'E'?

:如果YES/NO爲什麼呢?

+0

是否要訪問E模板中的文檔或訂閱句柄? – ghybs

+0

訂閱處理 –

回答

0

如果您將數據傳遞給子模板,則數據在輔助模板中可用。

你可以這樣做:

{{> childTemplate post=post}} 

然後

<template name="childTemplate"> 
    {{post.title}} 
</template> 
+0

您指定的內容是通過提及它作爲參數,但它是否隱含地納入範圍? –

0

的簽約數據爲界,你訂閱範圍。 您可以Template.instance().subscribe('subscription_name')。這些數據隨後可用於Template實例。

而且還可以Meteor.subscribe('subscription_name')。數據將被限定在Meteor環境中。在這種情況下,可以從子模板訪問遺囑數據。儘管如此,這對於敏感數據並不值得推薦。

最後的選擇是,像Afifs的答案,給孩子模板與參數,這是有效的,整齊的數據。

1

將這些數據可用?大概。

如果模板是建立在其onCreated子(),並連接到「本」,那麼這意味着當模板被銷燬子會自行消失。

,如果子模板設置是這樣的:

<template name="A"> 
    {{> B}} 
</template> 

...而B呈現模板不被破壞。

這意味着B模版應該能夠在minimongo做一個find()方法,並看到數據A訂閱到。

親自,我寧願通過從向下到B是A「擁有」的任何數據B使用。但在非反應性情況下效果更好。如果B需要查找()數據並期望它是被動的,那麼我通常會讓B也訂閱這些數據。在這種情況下,B更加明確地訂閱,因爲如果它從A上下文中取出,它將停止工作。