senikz
12/26/2016 - 1:49 PM

Observer nested array

Observer nested array

{
  "version": "0.10.7",
  "EmberENV": {
    "FEATURES": {}
  },
  "options": {
    "use_pods": false,
    "enable-testing": false
  },
  "dependencies": {
    "jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
    "ember": "2.10.0",
    "ember-data": "2.10.0",
    "ember-template-compiler": "2.10.0",
    "ember-testing": "2.10.0"
  },
  "addons": {}
}
{{#each array}}
    {{foo}}
  {{/each}}
  <button {{action 'addElement'}} >add</button>
  <button {{action 'addSub'}} >sub</button>
import Ember from 'ember';

export default Ember.Controller.extend({
  
  array: [{foo:1,'ar':Em.A()}, {foo:2}, {foo:3}],
  actions: {
    addElement: function() {
      this.array.pushObject({foo:4});
    },
    addSub: function(){
      this.array[0].ar.pushObject({foo:4});
      console.log(this.array[0].ar);
    },
  },
  elementAdded: function() {
    alert('working'); // not invoked...
  }.observes('array.@each'),
  subAdded: function() {
    alert('not working'); // not invoked...
  }.observes('array.[].ar.[]'),
  
});