我有一个案例是我需要根据控制器的初始属性值选择视图的模板。因此,当我在视图的 init 钩子中时,我需要访问控制器,但是当我访问控制器时,它返回“null”。
MyApp.ApplicationController = Em.Controller.extend({
templateVersion: 'small'
});
MyApp.ApplicationView = Em.View.extend({
init: function(){
this._super();
console.log('Controller is: ',this.get('controller'));
if(this.get('controller').get('templateVersion') == 'small')
{
this.set('templateName', 'application-small');
} else {
this.set('templateName', 'application-bigger');
}
}
});
这不是真实案例,而是真实场景的示例。例如,我在这里设置了一个 jsbin