用例是我在{{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/
在应用程序的主要插座中显示所有子视图的正确方法是什么?
答案 0 :(得分:1)
您需要做的就是将show
路线移至与index
路线平行而不是嵌套。
App.Router.map ->
@resource 'index', path: '/'
@resource 'show', path: ':person_id'
问题是show
路由最初嵌套在index
路由中。 renderTemplate
调用使用index
模板覆盖原始show
模板,但Ember仍然希望index
模板出现在层次结构中。