2016-03-08 117 views
0

對不起,我的英語。通過模板傳遞訂閱數據

問題:

我的模板 「TEMPA」 訂閱 「SUBS1」。從tempA創建動態「tempB」(Blaze.render),那麼我必須再次訂閱「sub1」並等待完成?

有一種方法可以在tempB中使用tempA的subs1中的數據?

再次感謝和抱歉我的英語。

回答

2

如果您的tempB總是在tempA之內,那麼您可以直接查詢數據,因爲集合是被動數據源,並且每當新數據從服務器到客戶端進入時都會被動地更新助手和UI。

如果你想顯示一個加載消息或類似的東西,你可以使用Blaze.renderWithData將訂閱處理程序傳遞給tempB並傳遞數據,我想。當您訂閱保存參照這樣的訂閱處理器,

Template.tempA.created = function() { 
    var template = this; 
    template.handler = template.subscribe('subs1'); 
} 

然後,你可以這樣引用傳遞到使用這樣Blaze.renderWithData tempB

Blaze.renderWithData(Template.tempB, template.handler) 

然後你可以檢查此預訂是否已準備就緒在tempB使用訂閱處理程序的參考存儲在Template.currentData()

我沒有試過這個,我從來沒有用過Blaze.renderWithDataBlaze.render,所以我不完全確定它是否有效。希望能幫助到你。