Как конвертировать этот маршрут роутера?

В моем файле 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;
});

Так как я могу преобразовать это во 2-е определение?

1 ответ

Решение

Вы помещаете свойство 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/

Другие вопросы по тегам