Ember.js 余烬:当Em.对象中的任何Em.A发生变化时,如何激发观察者
假设我有Ember.js 余烬:当Em.对象中的任何Em.A发生变化时,如何激发观察者,ember.js,Ember.js,假设我有 property: Em.Object.create(foo: Em.A([]), bar: Em.A([])), onAnyArrayChange: function(){ //some code }.observes('WHAT HERE??') .observes('property.EACH_KEY.[]') 问题是我不想明确地说 .observes('property.foo.[]', 'property.bar.[]') 我想要像这样的东西 property: Em
property: Em.Object.create(foo: Em.A([]), bar: Em.A([])),
onAnyArrayChange: function(){
//some code
}.observes('WHAT HERE??')
.observes('property.EACH_KEY.[]')
问题是我不想明确地说
.observes('property.foo.[]', 'property.bar.[]')
我想要像这样的东西
property: Em.Object.create(foo: Em.A([]), bar: Em.A([])),
onAnyArrayChange: function(){
//some code
}.observes('WHAT HERE??')
.observes('property.EACH_KEY.[]')
有办法吗?是的,每个
属性都有可能。
见:
您需要做的是将属性
从Ember.Object
转换为Ember.ArrayProxy
,如下所示:
property: Em.ArrayProxy.create({
content: [
Em.A([]), // used to be foo
Em.A([]) // used to be bar
]
});
现在你可以:
.observes('property.@each.[]')