如何转换这个路由器路由?

How to convert this router route?

在我的 IronRouter.js 文件中,我有一条通往家的路线,定义如下:

  Router.route('/', {
      name: 'home',
      waitOn: function() {
        return [
          Meteor.subscribe('infosContainers'),
          Meteor.subscribe('infosMachines'),
          Meteor.subscribe('alertes'),
        ];
      },
      fastRender: true,
    });

然后我想将它转换成这种定义,但是 waitOn 不起作用并产生错误:

Router.route('/', function(){
  this.layout('layout');
  this.render('home');
  this.next();
  waitOn: function() {
    return [
      Meteor.subscribe('infosContainers'),
      Meteor.subscribe('infosMachines'),
      Meteor.subscribe('alertes'),
    ];
  };
  fastRender: true;
});

那么如何将其转换为第二个定义?

你把 waitOn 属性 放在函数声明里面,这是错误的 javascript 语法,把它转换成这样:

Router.route('/', {
  fastRender: true,
  subscriptions: function() {
    return [
      Meteor.subscribe('infosContainers'),
      Meteor.subscribe('infosMachines'),
      Meteor.subscribe('alertes'),
    ];
  },
  action: function() {
    if (this.ready()) {
      this.layout('layout');
      this.render('home');
    }
  }
});

铁路由器指南:http://iron-meteor.github.io/iron-router/