javascript - Why doesnt an ember observer fire on arrays? -


i trying listen specific property on every element in array , result that. however, updates dont appear happen properly.

var emptyemberobjectclass = ember.object.extend({}); var container = ember.object.extend({   data: ember.a([     emptyemberobjectclass.create({yo:1}),     emptyemberobjectclass.create({yo:2}),     emptyemberobjectclass.create({yo:3})   ]),   computeddata: ember.computed('data.@each.yo', function(){     var sum = 0;     this.get('data').foreach(function(data){       sum = sum + data.yo;     });     return sum;   }),   test: ember.observer('computeddata', function(){     ember.$('#a').html('woohoo!');   }) }).create(); var existingitem = container.get('data'); existingitem.objectat(0).set('yo', 50); 

http://jsfiddle.net/stb0nr2y/1/

as can see, text field still says 'start' , doesnt updated 'woohoo!'.

any appreciated.

javascript:

var emptyemberobjectclass = ember.object.extend({}); var container = ember.object.extend({   data: ember.a([     emptyemberobjectclass.create({yo:1}),     emptyemberobjectclass.create({yo:2}),     emptyemberobjectclass.create({yo:3})   ]),   computeddata: ember.computed('data.@each.yo', function(){     var sum = 0;     this.get('data').foreach(function(data){       sum += data.get('yo');     });     return sum;   }),   testobs: ember.on('init', ember.observer('computeddata', function() {     ember.$('#a').html('woohoo! cd: `' + this.get('computeddata') + '`');   })) }).create();  var existingitem = container.get('data'); var target = existingitem.objectat(0); target.set('yo', 50);  target.set('yo', 100); 

updates dom correctly with:

woohoo! cd: 55

and then:

woohoo! cd: 105

please note i'm using ember v1.13.10:

<script src="http://builds.emberjs.com/tags/v1.13.10/ember.min.js"></script> 

working demo.


Comments