2

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

renderTemplate: function() {
  this.render({ into: "application" });
}

这行得通,但是当我然后单击指向父路由的链接时,什么都没有呈现。我整理了一个小的 jsfiddle 来演示这一点:http: //jsfiddle.net/H7gvz/1/ - 运行它,然后单击其中一个名称,然后单击“索引”。我希望PeopleRoute渲染people模板,但没有渲染任何内容。

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

4

1 回答 1

5

每当您使用嵌套路由时,从子路由 ('people.show') 到父路由 ('people') 的转换将被重定向到 'index' 路由。在 App.PeopleIndexRoute 中呈现您的“人”模板将解决您的问题。

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

}  
});

你的工作小提琴

于 2013-07-10T17:58:12.120 回答