发布取决于用户状态

时间:2014-09-25 15:28:23

标签: meteor

我的发布方法取决于用户状态:

Meteor.publish('myGroup', function () {
  if (this.userId != null) {
    var user = Meteor.users.findOne(this.userId);
    return Group.find(user.profile.groupId);
  } else {
    return [];
 }
});

当用户状态发生变化时(user.profile.groupId),我没有获得新数据。我可以通过刷新浏览器来修复它。

我试图通过让订阅被动反应来解决这个问题:

Tracker.autorun(function () {
  var user = Meteor.user(); // depend on user
  if (user != null) {
    Meteor.subscribe('myGroup');
  }
});

但它似乎不起作用。解决这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

传递未使用的参数似乎是最好的解决方法:

Meteor.subscribe("myGroup", user.profile.groupId);