铁路由器params空

时间:2014-08-06 11:27:18

标签: meteor iron-router

昨天我将流星和我的陨石包更新到最新版本。今天,铁路由器没有表现。当我导航到参数化路线时,不加载参数。是什么赋予了?我查看了铁路由器的文档,它仍然指定了我之前使用的相同方案。

这是我创建的路线文件

Router.map(function() {
  this.route('home', {
    path: '/'
  });

  this.route('list', {
    path: '/:_id',
    waitOn: function() {
      return Meteor.subscribe('lists')
    },
    data: function() {
      var list = Lists.findOne({
        _id: this.params._id
      });
      Session.set('listId', list._id);
      return list;
    }
  });
});

当我将页面加载到http://localhost/1234时,铁路由器中的路径已正确设置为/1234,但它无法将最后一位识别为参数。

1 个答案:

答案 0 :(得分:1)

我担心什么是空的不是你的this.params对象而是list文件,至少是第一次执行路线。当然,这是由与获取服务器数据相关的延迟引起的。

你可能认为它不应该发生,因为你使用了waitOn钩子。但要实现这一目标,您还需要做另外两件事:

Router.onBeforeAction('loading');

并定义加载模板:

Router.configure({
  loadingTemplate: 'someTemplateName'
});

所以如果你还没有这样做,请更新。