【发布时间】:2014-07-04 23:11:12
【问题描述】:
我有一个带有属性 message 的 Ember.Object Foo:
Foo = Ember.Object.extend({
message: null
在执行this.set('message', value) 时,我想在message 上设置value 变量之前对其进行修改。
我可以通过.observes 做到这一点:
Foo = Ember.Object.extend({
message: null,
messageSetter: function() {
this.set('message', this.get('message') + 'suffix')
}.observes('message')
或者我可以使用computed property 甚至处理getter 然后:
Foo = Ember.Object.extend({
messageValue: null,
message: function(key, value) {
if(arguments.length > 1) {
this.set('messageValue', value + 'suffix');
}
return this.get('messageValue');
}.property('message')
但是两者看起来都有些凌乱,有没有更简洁的方法在属性设置之前修改值?
【问题讨论】:
-
我不知道,这就是计算属性的用途。
标签: object ember.js properties set