Javascript Meteor Subscribe不使用router.current().params

Javascript Meteor Subscribe不使用router.current().params,javascript,meteor,Javascript,Meteor,当我试图从集合中获取对象时遇到问题,subscribe函数未按预期工作。例如: 客户: JS 服务器: Meteor.publish('getTransaction', function(taskid){ return Transactions.find({taskid:taskid}); }); 如果我保持原样,就不能显示任何内容,控制台中显示的值是9。但是,如果我将变量“num”更改为显式值:9,它将按预期工作 你知道为什么subscribe不处理这个案子吗 我真的非常感谢您的

当我试图从集合中获取对象时遇到问题,subscribe函数未按预期工作。例如:

客户:

JS

服务器:

 Meteor.publish('getTransaction', function(taskid){ 
   return Transactions.find({taskid:taskid});
 });
如果我保持原样,就不能显示任何内容,控制台中显示的值是9。但是,如果我将变量“num”更改为显式值:9,它将按预期工作

你知道为什么subscribe不处理这个案子吗


我真的非常感谢您的帮助。

我认为您的问题可能是,在创建模板时,路由器尚未“准备就绪”。您是否将订阅放在路由特定选项中(我认为您使用的是Iron router?):

您可以在此处找到更多选项:

如果这不起作用,请尝试使用setTimeout()函数稍微“延迟”订阅。像这样:

Meteor.setTimeout(function(){
  this.subscribe('getTransaction',num);
}, 100);

我认为您的问题可能是,在创建模板时,路由器尚未“准备就绪”。您是否将订阅放在路由特定选项中(我认为您使用的是Iron router?):

您可以在此处找到更多选项:

如果这不起作用,请尝试使用setTimeout()函数稍微“延迟”订阅。像这样:

Meteor.setTimeout(function(){
  this.subscribe('getTransaction',num);
}, 100);
Meteor.setTimeout(function(){
  this.subscribe('getTransaction',num);
}, 100);