我很困惑,因为我在Meteor-Angular中有一个自动运行,我需要每次变量this.getReactively('perPage')更改,但在我需要验证Meteor.user()是否存在之前,所以我需要把它放在功能自动运行中,但我的问题是这个自动运行每次运行时不仅仅是当this.getReactively('perPage')改变时,而是Meteor。用户更改,我不知道是否有办法避免这种情况,也许比较以前的Meteor.user值,我不知道。有人可以帮帮我吗?感谢
Tracker.autorun(function() {
if(this.getReactively('perPage')){
if(Meteor.user() ){
console.log(this.getReactively('perPage'));
Meteor.subscribe('notifications_bell',Meteor.user().notifications_bell,this.getReactively('perPage'));
}
}
}.bind(this));
答案 0 :(得分:2)
请改用Meteor.userId()
。只有在用户登录或注销时才会更改。您可能更频繁地更改用户对象。
您也不需要将Meteor.user().notification_bell
传递给您的订阅。您可以直接访问出版物内的服务器上的内容。这也会更安全(你永远不应该将任何数据传递给那里已有的服务器)。