我有一個關於模板訂閱的問題。我才發現,不是一個錯誤,而是一個非酷的行爲,考慮以下因素:帶參數的模板訂閱行爲
路由器(鐵路由器):
this.route('test', {
path '/test/:_id'
});
然後模板訂閱:
Template.test.onCreated(function() {
this.subscribe('mydata', Router.current().params._id);
});
基本路線,其中訂閱鏈接到由路由參數給定的id。
然後,如果我有兩個環節是這樣的:
<a href="/test/hello">hello</a>
<a href="/test/hi">hello</a>
隨着/測試/問候和/測試/ HI共享相同的模板,從測試onCreated只調用一次(同爲onRendered)。這意味着該訂閱將存在id:hello,但不適用於id:hi(因爲onCreated只會爲hello調用一次)。
我避免了使用子管理器包在路線中移動訂閱的問題。然而,我很有興趣知道如何處理模板中的這些問題(我只是更喜歡模板比路由更好地知道他需要執行什麼訂閱)。
簡而言之,如果有人沒有得到它: 兩頁,相同的路徑(帶參數),相同的模板,onCreated/onRendered只調用一次,但路由參數改變,所以它應該有兩個訂閱。但是因爲onCreated/onRendered僅被調用一次(因爲它們共享相同的模板),所以只存在一個訂閱。如何使用模板訂閱方法來處理這種情況?