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

10-06 04:46