我正在使用 iron-router 的 data
函数为我的 HTML 模板提供数据。
来自 router.js 的片段:
data: function() {
liveData = {
dataA: Collection.findOne({queryA}),
dataB: Collection.findOne({queryB})
};
return liveData;
}
在我的模板中,liveData
对象是响应式的。当 Collection 改变时,liveData 也会改变——太棒了!
但我的问题是:我在 Template.name.rendered
中有一个名为 computation()
的 javascript 函数,它使用 liveData
对象。它在页面加载时运行一次 - 很好 - 但在页面加载后,liveData
正在更改但计算不会重新运行。当 iron-router 的数据源 liveData
发生变化时,如何强制 computation()
重新运行?
最佳答案
Template.name.rendered = function(){
this.autorun(function(){
var data = Router.current().data();
computation(data);
});
}
关于javascript - Meteor:Iron-Router 数据更新时的 Tracker.autorun,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26095360/