使用流星和铁路由器如何使用相同的控制器和发布功能来发布集合的不同部分

With meteor and iron router how can the same controller and publish function be used to publish different parts of a collection

Controller.extend({}) 如何设置要通过 Meteor.subscribe() 发送的变量;在 mongodb 查询中使用。这可以通过创建全新的控制器并在订阅函数中放置一个静态变量来完成。 ex Meteor.subscribe('collection', this.findOptions(),static variable); 的问题是创建了很多冗余代码。在 Controller.extend({}) 中设置变量不会。

如果您定义一个 waitOn 函数来收集订阅,那么您可以在那里进行。我的应用程序中有一些类似的模式。例如,用于广告系列着陆页的路线:

Router.route('/c/:token',{ // This route takes a token parameter
  name: 'campaign',
  controller: 'anonymousController',
  layoutTemplate: 'layout',
  waitOn: function(){
    return Meteor.subscribe('campaign', this.params.token);
  }
});