示例小提琴:http://emberjs.jsbin.com/aviyUnA/9/edit?html,js,output
这是我的模特:
{
name: {
title: 'Mr',
first: 'Potato',
last: 'Head'
},
age: 79
}
如何创建一个计算属性来观察name
对象中的所有键而不手动列出它们?
fullName: function() {
var name = this.get('name');
return [name.title, name.first, name.last].join(' ');
}.property('name.??')
感谢您的帮助!
答案 0 :(得分:3)
您可以自定义模型的set
调用:检查所设置的值是否包含name
属性,如果属性为notifyPropertyChange
,请致电name
上的App.MyModel = Ember.Object.extend({
set: function(keyName, value) {
this._super(keyName, value);
if (keyName.indexOf('name.') > -1) {
// a property of `name` has changed => notify observers of `name`
this.notifyPropertyChange('name');
}
}
});
:
{{1}}