我有一個超級控制器:ApplicationController
這產生了我的區域:頁眉/頁腳。當我配置的路線之一嘗試屈服於另一個模板上的另一個區域時,父控制器的yieldTemplates將被覆蓋。使用鐵路路由器從超級控制器繼承良率模板
例子:
ApplicationController = RouteController.extend({
yieldTemplates: {
'footer': { to: 'footer' },
'header': {to: 'header'}
}
});
var SignUpController = ApplicationController.extend({
template: 'signUp'
});
Router.map(function() {
this.route('signup', {
path: '/sign-up',
controller: SignUpController,
template: 'signUp-form',
disableProgress: true,
yieldTemplates: {
'personal-signup': {to: 'signup-detail'}
}
});
});
任何想法,爲什麼繼承是不是在這種情況下工作?
這可以用'數據'屬性來完成 – Warz
我喜歡這種方法,但有一個變化和一個警告:不是定義一個'mainYieldTemplates'全局對象(並且沒有什麼錯誤),我想過提到'_.extend'中的'SignUpController'' __super__'原型,但不起作用。我可以用'ApplicationController.yieldTemplates'替換'mainYieldTemplates',但不能'SignUpController .__ super __。yieldTemplates'。任何想法爲什麼?請注意'SignUpController .__ super __。data.call(this)'在'data'方法中工作正常,所以我不知道爲什麼它在'yieldTemplates'屬性中不起作用。 – fulv