我的路线是:
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');
}
有什么想法吗?
答案 0 :(得分:1)
当您访问workpaper.add
之类的路线时,Ember会加载WorkpaperAddRoute
,但它也会加载WorkpaperRoute
和ApplicationRoute
。这意味着您仍然可以访问父路线中的模型等内容。覆盖renderTemplate
上的WorkpaperRoute
会影响该路线的所有孩子。
要实现您的目标,请尝试覆盖renderTemplate
上的WorkpaperIndexRoute
。