父级重写renderTemplate时未呈现的子路径模板

时间:2015-05-13 01:17:38

标签: ember.js routes

我的路线是:

this.resource('workpaper', function() {
    this.route('add');
});

对于workpaper路线,我想决定渲染哪个模板,因此在WorkpaperRoute我覆盖renderTemplate()

renderTemplate: function(controller, model) {
    this.render('workpaper/index');
}

问题是,当我导航到add路线时,会呈现workpaper/index模板,而不是workpaper/add模板。

renderTemplate()中覆盖WorkpaperAddRoute似乎没有效果:

renderTemplate: function(controller, model) {
    this.render('workpaper/add');
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

当您访问workpaper.add之类的路线时,Ember会加载WorkpaperAddRoute,但它也会加载WorkpaperRouteApplicationRoute。这意味着您仍然可以访问父路线中的模型等内容。覆盖renderTemplate上的WorkpaperRoute会影响该路线的所有孩子。

要实现您的目标,请尝试覆盖renderTemplate上的WorkpaperIndexRoute