2016-09-24 76 views
0

我正在使用Ember.js应用程序,并使用了ember-cli 2.7。 我试图覆盖get和set的属性,但是当我这样做时,我收到了一个意外的令牌错误。Ember.js计算属性(覆盖获取并设置)

这里是我的控制文件的代码:

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')); 
    }) 
}); 

这似乎是一个简单的解决方案,但我没有发现错误,它的杀了我。请帮助我,谢谢。

+0

@ykaragol它不是一个语法错误。我删除了“功能”关键字,但它仍导致相同的运行时错误。 编辑:jk,这是错误,但我得到另一个大声笑 –

+0

是什么行为?目前的错误/问题是什么? – ykaragol

回答

3

这是一个语法错误。 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')}`; 
}),