1

用例是我在 {{outlet}} 中显示了一个索引列表,并且我希望每个项目的详细视图显示在同一插座中,由“应用程序”拥有。这没有问题:

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/

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

4

1 回答 1

1

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

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

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

JSFiddle 示例

于 2013-09-25T21:54:11.917 回答