Javascript 如何绕过在ember.js中呈现父模板?

Javascript 如何绕过在ember.js中呈现父模板?,javascript,ember.js,Javascript,Ember.js,我在我的余烬应用程序中有嵌套路由的层次结构。我希望其中一个子路由绕过渲染其父模板,直接渲染到应用程序模板中。但是,我仍然希望保留路由层次结构,因为我需要子路由中父路由的模型。我所做的是在子路由上定义了renderTemplate钩子,以渲染到应用程序中: renderTemplate: function() { this.render({ into: "application" }); } 这是可行的,但当我单击指向父管线的链接时,不会呈现任何内容。我放了一个小JSFIDLE来演示这一点:

我在我的余烬应用程序中有嵌套路由的层次结构。我希望其中一个子路由绕过渲染其父模板,直接渲染到应用程序模板中。但是,我仍然希望保留路由层次结构,因为我需要子路由中父路由的模型。我所做的是在子路由上定义了
renderTemplate
钩子,以渲染到
应用程序中:

renderTemplate: function() {
  this.render({ into: "application" });
}
这是可行的,但当我单击指向父管线的链接时,不会呈现任何内容。我放了一个小JSFIDLE来演示这一点:-运行它,然后单击其中一个名称,然后单击“索引”。我希望
PeopleRoute
能够呈现
people
模板,但是没有呈现任何内容


这是一个错误还是我做的完全错误?正确的方法应该是什么?

无论何时使用嵌套路由,从子路由('people.show')转换到父路由('people')时,都将重定向到“索引”路由。在App.PeopleIndexRoute中呈现您的“人员”模板将解决您的问题

App.PeopleIndexRoute = Em.Route.extend({
renderTemplate: function() {
    this.render('people',{ into: "application" });

}  
});

您的工作

这似乎适用于我编写的简单JSFIDLE,但不幸的是,它不适用于我正在工作的项目中的实际情况。在那里,我有更复杂的路由层次结构,有几个层次。但是,最后,我设法找到了一种方法,将原始子路由从原始父级中拉出,这样我就不必再绕过父级模板渲染。不过我还是接受你的答案,因为它按照我的表述方式解决了这个问题。