1

Ember 指南中的模板部分描述了如何使用 linkTo 帮助器。但是,我似乎无法找到以下问题的答案:

我有一个页面显示 Post 对象的一些属性。该页面包含一个“评论”链接,该链接需要显示属于当前帖子的评论。

// Router
App.Router.map(function(match) {
  match('/posts').to('posts', function(match) {
    match('/:post_id').to('post', function(match) {
      match('/').to('postIndex');
      match('/comments').to('comments');
    });
  });
});

// post template
...
{{#linkTo "comments"}}Comments{{/linkTo}}
...
{{outlet}}

如何定义我的 CommentsRou​​te 以使用当前帖子的评论填充控制器的内容?

App.CommentsRoute = Ember.Route.extend({
  model: function() {
    // I need to get the content of the postController here
    // this.controllerFor('post') seemed obvious, but doesn't work
    post = ????;
    post.get('comments')
  }
})

提前致谢。

4

1 回答 1

2

controllerFor您可以从路由中访问 postController :

App.CommentsRoute = Ember.Route.extend({
  model: function() {
    var controller = this.controllerFor('post');
    return controller.get('comments');
  }
});

你在使用 ember-data 吗?在这种情况下,加载帖子数据时侧载评论数据可能是有意义的。https://github.com/emberjs/data/blob/master/BREAKING_CHANGES.md#revision-11

get('comments')更新:唱到get('comments.content')

更新:恢复get('comments')

于 2013-01-05T11:59:29.860 回答