Ember Js嵌套路由索引参数

时间:2015-04-22 04:55:50

标签: ember.js

如何从我创建的索引路径访问params字段。

这是我的路由器。

export default Router.map(function() {
  this.resource('posts', function() {
    this.resource('posts.post', {path: ':id'}, function(){
      ...
      ...
      ...
    });
  });
});

当我转到/posts/1并查看余烬检查员的视图树时,我看到路线posts.postposts.post.index的模型都有{id: '1'}

posts.post路线中,我可以执行以下操作:

export default Ember.Route.extend({
  model: function(params){
    console.log('params.id = ' + params.id);
  },
});

这将打印到控制台params.id = 1

然而,当我在posts.post.index路线中运行相同的代码时; params.idundefined。事实上,如果我运行JSON.stringify(params),它就是空的。

如何访问params表单posts.post.index路由。理想情况下,我希望不必从params路线访问posts.post

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用this.modelFor('posts.post')获取另一条路线的模型。

请注意,动态细分仅适用于定义它们的路径。想要访问来自不同路线的人是一种难闻的气味。