Jquery Ember.js:如何渲染子路由';s视图进入应用程序并导航回父级';s路线
用例是,我在{{outlet}}中显示了一个索引列表,并且我希望每个项目的详细视图都显示在“application”拥有的同一个outlet中。 这与以下方面无关:Jquery Ember.js:如何渲染子路由';s视图进入应用程序并导航回父级';s路线,jquery,ember.js,Jquery,Ember.js,用例是,我在{{outlet}}中显示了一个索引列表,并且我希望每个项目的详细视图都显示在“application”拥有的同一个outlet中。 这与以下方面无关: renderTemplate: (controller, model)-> this.render('show', { into: 'application' }); 但是问题是,当返回到索引页面{{{#linkTo'index'}}}index{{/linkTo}}时,索引视图将不再呈现 控制台抛出错误: 未捕获类型错
renderTemplate: (controller, model)->
this.render('show', {
into: 'application'
});
但是问题是,当返回到索引页面{{{#linkTo'index'}}}index{{/linkTo}}
时,索引视图将不再呈现
控制台抛出错误:
未捕获类型错误:无法调用未定义的方法“connectOutlet”
这里有一把小提琴再现了这个问题:
让所有我的子视图显示在应用程序的主出口中的正确方法是什么?您需要做的就是将
show
路由转换为与index
路由平行,而不是嵌套
App.Router.map ->
@resource 'index', path: '/'
@resource 'show', path: ':person_id'
问题在于show
路由最初嵌套在索引
路由中。renderTemplate
调用使用show
模板重写了原始的index
模板,但Ember仍然希望index
模板出现在层次结构中
您所需要做的就是将
show
路由转换为与索引
路由平行,而不是嵌套
App.Router.map ->
@resource 'index', path: '/'
@resource 'show', path: ':person_id'
问题在于show
路由最初嵌套在索引
路由中。renderTemplate
调用使用show
模板重写了原始的index
模板,但Ember仍然希望index
模板出现在层次结构中
谢谢您的回答。我的目标是在对象类型的范围内维护show和其他子视图。例如,如果我有一个菜单项“动物”,那么我想要“猫”和“狗”的内部页面,但我仍然希望“动物”选项卡保持“活动”类等。事实证明,我在您的另一个答案中找到了一个更好的解决方案:感谢您的回答。我的目标是在对象类型的范围内维护show和其他子视图。例如,如果我有一个菜单项“动物”,那么我想要“猫”和“狗”的内部页面,但我仍然希望“动物”选项卡保持“活动”类等。事实证明,我在您的另一个答案中找到了更好的解决方案: