观察嵌套对象的属性 [英] Observe properties on nested object
本文介绍了观察嵌套对象的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
示例小提琴: http://emberjs.jsbin.com/aviyUnA/9/edit? html,js,输出
这是我的模型:
{
name: {
title: 'Mr',
first: 'Potato',
last: 'Head'
},
age: 79
}
如何创建一个观察到的计算属性名称中的所有键都不需要手动列出?
How do I create a computed property that observes all the keys inside the name
object without listing them manually?
fullName: function() {
var name = this.get('name');
return [name.title, name.first, name.last].join(' ');
}.property('name.??')
感谢任何帮助! / p>
Thanks for any help!
推荐答案
您可以自定义模型的集合
调用:检查设置的值涉及 name
的属性,如果是,请在 name 中调用
notifyPropertyChange
/ code>:
You can customize the set
call of your model: Check if the value being set involves a property of name
and if it does, call notifyPropertyChange
on 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');
}
}
});
演示: http://emberjs.jsbin.com/akEjubU/1/edit
这篇关于观察嵌套对象的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文