É possível observar matrizes dentro de matrizes usando @each?

Eu tenho um controlador que contém uma matriz de "coisas". Dentro de cada uma dessas coisas há uma matriz de "sub-coisas". Gostaria de criar uma propriedade computada que contenha todas as sub-coisas em todas as coisas (uma matriz achatada de sub-coisas

Minha propriedade calculada depende de[email protected]. Acho que se euconjunt asubthings propriedade de uma coisa, minha propriedade computada é atualizada. No entanto, se eu ligar parapushObjects para adicionar novos dados ao meuexisti subthings array, minha propriedade computada não é atualizad

Eu criei um jsfiddle para demonstrar. O código é o seguinte:

App = Em.Application.create({});

App.controller = Em.Object.create({
    things: [
        Em.Object.create({subthings:[]}),
        Em.Object.create({subthings:[]}),
        Em.Object.create({subthings:[]})        
    ],

    allSubThings : function() {
        var things = this.get('things');
        var results = [];
        things.forEach( function(thing)  {
            results.pushObjects( thing.get('subthings') );
        });
        return results;
    }.property('[email protected]').cacheable()        
});


setTimeout(function() {
    var things = App.controller.get('things');
    // This works:
    things.objectAt(0).set('subthings',[1,2,3]);
}, 1000);

setTimeout(function() {
    var things = App.controller.get('things');
    // This does not:
    things.objectAt(1).get('subthings').pushObjects([1,2,3]);
}, 2000);

Obrigad

questionAnswers(2)

yourAnswerToTheQuestion