我的发布方法取决于用户状态:
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');
}
});
但它似乎不起作用。解决这个问题的最佳方法是什么?
答案 0 :(得分:0)
传递未使用的参数似乎是最好的解决方法:
Meteor.subscribe("myGroup", user.profile.groupId);