【发布时间】:2015-07-31 20:13:27
【问题描述】:
我正在使用用户的个人资料向客户发布特定数据。
但是订阅不起作用,这让我很生气。
虽然 Tracker.autorun() 运行,但服务器不运行任何发布。
Tracker.autorun(function () {
console.log(‘autorun is running');
console.log(Meteor.user()) //to be reactive to user's update
Meteor.subscribe(“Lists”,{
onStop:function() {
console.log('subscribe call back onStop');
},
onReady: function(){
console.log('subscribe call back onReady');
});
console.log(Lists.find().count());
}
Meteor.publish('Lists', function(){
console.log('publish is running’);
var list = Meteor.users.findOne({_id: this.userId}).list;
return Lists.find({_id: {$in: list}});
}
p.s 如果我在 Chrome 的控制台行中键入 Meteor.subscribe(“Lists”),它可以正常工作并且服务器运行发布正常。
p.s Lists 集合没有改变。只是发布一个不同的集合。是这个原因吗?
感谢您的阅读。
【问题讨论】:
-
我发现订阅只在第一次运行或重新加载页面。自动运行时它被惊人地跳过,没有回调 onReady 或 onStop 出现。 (对不起,我应该添加更多回调细节)
-
我传递了一个变量,但它仍然不起作用..我正在寻找什么样的因素导致订阅跳过
-
哦,如果我通过 Random.id() 就会运行 !!!!!