Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬:当Em.对象中的任何Em.A发生变化时,如何激发观察者_Ember.js - Fatal编程技术网

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.[]')