如何在多个Ironrouter路由中使用一个模板?

时间:2017-03-09 06:14:06

标签: templates meteor iron-router

我想显示名为“home”的模板,路径为“/”和“/ home”但是我的代码不起作用

/** Iron router config file **/
Router.configure({
  layoutTemplate: 'layout',
  notFoundTemplate: '404',
  loadingTemplate: 'loading',
  fastRender: true,
});

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

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

它不喜欢模板“home”在2条路线中的事实(因为如果我在第二条路线中设置name: sokasok,它就可以工作)

你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

'name'不适用于模板渲染,它是路径的名称。您需要做的是在路线的this.render('home')中拨打action

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