我有一個訂閱文檔的模板。只要模板助手中使用的屬性發生更改,一切都可以在DOM和Blaze更新中正常工作。如何更新流星中的屬性更改?
我也有一些自定義邏輯不會出現在DOM中,並取決於文檔屬性。如何在屬性更新時調用函數來更改該邏輯?
我正在尋找類似this.data.attr.onChanged
的地方,其中this
將引用模板,而this.data
是像往常一樣發送到模板的數據;或流星功能,重新運行的地方,我可以把我的回調英寸
我希望template.onRendered會被召回,但事實並非如此。
我讀了很多關於被動變量的內容,但是無法找到它們在這裏的用處。
[編輯]的變化是從與其他服務
我已經試過Tracker.autorun
這樣的通信的服務器未來:
Template.editItem.onRendered(function() {
var self = this;
Tracker.autorun(function() {
console.log("tracker", self.data.item.socketId);
});
});
以及相應的路線:
Router.route('editItem', {
path: '/edit/:_id',
waitOn: function() {
var sub = Meteor.subscribe('item', this.params._id);
return [sub];
},
data: function() {
return {item: Items.findOne(this.params._id)};
},
action: function() {
if (this.ready())
this.render();
}
});
在某些時候,屬性socketId
從相應的文檔中被服務器刪除,我確信由於我已經檢入了shell,但跟蹤器不會重新運行。
Yep'Template.currentData()'是我錯過了使數據反應。感謝您節省我創建一個反應變量,從助手中更新,需要由隱藏元素調用。 – Guig