2

我的路由器功能是这样定义的

  this.route('time', {
     template: "app",
     yieldTemplates: { 'appNav': {to: 'top'}, 'time': {to: 'appPage'} },
     data: function() {
        console.log("data is ready for time " + (personsSub.ready() && tenantsSub.ready() && teamsSub.ready()));
        return {
           dataReady: personsSub.ready() && tenantsSub.ready() && teamsSub.ready()
        }
     },
     waitOn: function(){
        return [personsSub, tenantsSub, teamsSub];
     }
  });

3个订阅是:

var personsSub = Meteor.subscribe("allPersons");
var tenantsSub = Meteor.subscribe("allTenants");
var teamsSub = Meteor.subscribe("allTeams");

在控制台中,当我导航到此路线时,我可以看到 2 个条目

data is ready for time false
data is ready for time true

我显然不明白waitOn的含义。预期的结果是数据部分只被调用一次,并且在所有订阅都“准备好”之后被调用

4

1 回答 1

4

尝试

waitOn: [personsSub, tenantsSub, teamsSub];

我不确定是否需要函数/返回。

于 2013-10-24T14:11:39.303 回答