我正在研究Ember.js应用程序,我使用ember-cli 2.7。我试图覆盖get和set的属性,但是当我这样做时,我得到一个意外的令牌错误。
这是我的控制器文件的代码:
import Ember from 'ember';
export default Ember.Controller.extend({
isDisabled: true,
emailAddress: '',
actualEmailAddress: Ember.computed('emailAddress', function(){
get(key){
return `getting email...${this.get('emailAddress')}`;
}
}),
emailAddressChanged: Ember.observer('emailAddress', function(){
console.log('observer is called: ', this.get('emailAddress'));
})
});
这似乎是一个简单的解决方案,但我找不到错误,它要了我的命。
语法错误。function
不应该在这里。计算属性定义应该像这样:
actualEmailAddress: Ember.computed('emailAddress', {
get(key){
return `getting email...${this.get('emailAddress')}`;
},
set(key, value){
//...
}
}),
如果在计算属性上只有一个get
操作,那么你可以这样写:
actualEmailAddress: Ember.computed('emailAddress', function(){
return `getting email...${this.get('emailAddress')}`;
}),