我试图找到最好的实践,我们如何更新跟踪器中的收集;
例如,我想更新我的集合中的视图计数。但我想确保我的订阅准备就绪,我有工作的对象;
例如在onCreated部分:
var self = this;
self.autorun(function() {
var topicId = FlowRouter.getParam('_id');
self.subscribe('Topic', topicId);
if(self.subscriptionsReady()){
// var topic = Topic.findOne(topicId);
// topic.upViews();
}
});
此代码将进入无限循环,因为我们注释掉的代码将更改对象。在这种情况下如何做到最好?非常感谢你!
答案 0 :(得分:0)
好的,我找到了一个很好的方式(可能不是)。 我们可以使用非反应性跟踪器功能();
更新集合var self = this;
self.autorun(function() {
var topicId = FlowRouter.getParam('_id');
self.subscribe('Topic', topicId);
if(self.subscriptionsReady()){
Tracker.nonreactive(function(){
var topic = Topic.findOne(topicId);
topic.upViews();
})
}
});
我认为就是这样。也许有人会提供更好的? 如果没有优惠版本更好,我会在一天内结束这个问题