Ember.js计算属性(覆盖get和set)



我正在研究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')}`;
}),

最新更新