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>
Comments
Post a Comment