Ember.js:将参数传递给嵌套路由

时间:2014-04-03 01:58:19

标签: javascript ember.js

我试图在Ember建立一个嵌套路线。目标是让#/ posts页面显示一个帖子列表,每个帖子都有一个链接(#/ posts / summary /:post_id)来嵌套一个名为summary的资源。

摘要资源包含4个嵌套路由,让我们调用它们(a,b,c,d)意味着我们有一个像#/ posts / summary /:post_id / a这样的路由。路线的模板' a'包含' post'的标签。 id = post_id的对象。

如何将帖子模型提供给' a'路线?

这是我的代码中的当前状态:

/* router.js */
App.Router.map(function(){
  this.resource('posts', function(){
    this.resource('summary', {path:'summary/:post_id'}, function(){
      this.route('a'); /* path autogen to be #/posts/summary:post_id/a */
      this.route('b');
      this.route('c');
      this.route('d');
    });
  });
});


/* controllers.js */
App.PostsIndexRoute = Ember.Route.extend({  
  model: function(){
    return this.store.find('post');
  }
});

App.SummaryRoute = Ember.Route.extend({
  model: function(params){
    return this.store.find('post', params.post_id);
  },
});

App.SummaryIndexRoute = Ember.Route.extend({
  model: function(params){
    console.log(params.post_id);
    return this.store.find('post', params.post_id);
  },
});

AdminApp.SummaryARoute = Ember.Route.extend({
  model: function(params){
    return this.store.find('post', params.post_id);
  },
});

/* 'A' template */
I'm in A route. Here's the {{title}} of the post. 

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:3)