Ember.js:如何将子路径的视图呈现到应用程序中并导航回父路线

时间:2013-09-25 20:34:04

标签: jquery ember.js

用例是我在{{outlet}}中显示了一个索引列表,我希望每个项目的详细信息视图显示在同一个出口中,由'application'拥有。 这与以下问题没有关系:

renderTemplate: (controller, model)->
this.render('show', {
  into: 'application'
});

但问题是当返回索引页面{{#linkTo 'index'}}Index{{/linkTo}}时,索引视图将不再呈现。

控制台抛出错误: Uncaught TypeError: Cannot call method 'connectOutlet' of undefined

这是一个重现这个问题的小提琴: http://jsfiddle.net/genkilabs/spAbn/3/

在应用程序的主要插座中显示所有子视图的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您需要做的就是将show路线移至与index路线平行而不是嵌套。

App.Router.map ->
  @resource 'index', path: '/'
  @resource 'show', path: ':person_id'

问题是show路由最初嵌套在index路由中。 renderTemplate调用使用index模板覆盖原始show模板,但Ember仍然希望index模板出现在层次结构中。

JSFiddle Example