我找到meteor variable watcher,我就这样使用它:
Template.restaurantMap.onCreated(function() {
this.location = ReactiveVar;
this.watch("location", function(value){
console.log('value changed', value);
});
});
完美无缺。但是,有没有Meteor的方式来观看ReactiveVar?
我只需要观看一个ReactiveVar,而不是整个附加到Template的列表。我需要与Meteor的模板,助手等分开观看。
如果变量发生变化,我需要自己回调。
答案 0 :(得分:8)
您可以使用autorun,这是一种内置方式来创建自定义反应上下文(每当反应变量发生变化时运行的函数)。这是一个例子:
Template.restaurantMap.onCreated(function() {
this.location = new ReactiveVar;
var self = this;
this.autorun(function() {
return console.log('location changed!', self.location.get());
})
});
答案 1 :(得分:1)
流星会自动监视反应计算中的任何ReactiveVar。反应计算包括:
对我来说,模板助手几乎总是足够的。如果不是,我会使用Tracker.autorun或this.autorun(来自模板onRendered方法)。