当我订阅已发布的集合时,什么时候可以传递参数?
我是这样发布我的收藏的:
Meteor.publish('recent-posts', function (options) {
var limit = options.limit;
return Posts.find({}, {sort: {date: -1}, limit: limit});
});在我的路由文件中,我可以像这样将{limit: 5}作为options传递,它可以工作:
...
waitOn: function () {
return Meteor.subscribe('recent-flights', {limit: 5});
}
...让我困惑的是,这也是可行的:
...
waitOn: function () {
return Meteor.subscribe('recent-posts', {date: this.params.date});
}
...第二个示例让我订阅具有特定日期值的所有帖子。
为什么它会起作用?看起来我是以options的身份传递{date: this.params.date}。但是我还没有在我的Meteor.publish中定义任何关于date的东西。
发布于 2015-06-21 18:46:14
Meteor中没有任何东西会导致这样的行为,至少在我从源代码中看出来是这样。我还在一个“干净”的meteor实例中测试了您的示例。它的行为并不像你描述的那样。所以一定是你的代码中有什么东西在做这个。也可能是,你没有正确地描述你的问题。
我还注意到,在示例中使用了两个不同的订阅:recent-posts和recent-flights。所以这可能是你困惑的原因。
https://stackoverflow.com/questions/30951352
复制相似问题