MeteorJS:使用动态订阅/发布

时间:2014-03-13 02:30:08

标签: meteor publish-subscribe

这是我的订阅:

Meteor.subscribe('jobs', Session.get('currentIndustryOnet'));

发布:

  Meteor.publish('jobs', function(onet_code){
    console.log(onet_code);
    if(onet_code)
      return Jobs.find({onet: onet_code});
    else
      return Jobs.find({});
  })

显然这不起作用,但我不知道如何解决这个问题。基本上,当用户从下拉列表中选择选项时,订阅应该使用通过Session变量传入的onet_code进行更新。

1 个答案:

答案 0 :(得分:2)

你错过了一行:

Deps.autorun(function (){
    Meteor.subscribe('jobs', Session.get('currentIndustryOnet'));
});

欢迎来到Meteor的魔力。

要了解其工作原理,请注意

    当上次调用任何反应依赖项时,
  • Deps.autorun再次调用该函数;和
  • Deps.autorun会自动清除之前在上一次通话中启动的所有订阅。

另见http://docs.meteor.com/#deps_autorun