Ember.js 从嵌套对象访问控制器
我需要从常规对象中访问余烬控制器上下文。目前,我正在init()方法中保存对控制器上下文的引用,这似乎有点糟糕Ember.js 从嵌套对象访问控制器,ember.js,Ember.js,我需要从常规对象中访问余烬控制器上下文。目前,我正在init()方法中保存对控制器上下文的引用,这似乎有点糟糕 let self = this //saving the context here export default Ember.controller.extend({ init() { this._super(...arguments); self = this; }, settings: { crud: { read: {
let self = this //saving the context here
export default Ember.controller.extend({
init() {
this._super(...arguments);
self = this;
},
settings: {
crud: {
read: {
enabled: true,
default() {
return self.get('blah.blah'); //Need to access the controller context
}
}
}
}
});
所以我需要访问控制器
self.get('blah.blah')
。有更好的方法吗?使用计算属性闭包
export default Ember.controller.extend({
settings: Ember.computed(function() {
const controller = this;
return {
crud: {
read: {
enabled: true,
defaults() {
return controller.get('blah.blah');
}
}
}
};
})
});
访问对象
this.get('settings').crud.read.defaults(); // "blah.blah"