Можно ли наблюдать за массивами внутри массивов, используя @each?

У меня есть контроллер, который содержит массив «вещей». Внутри каждой из этих вещей есть множество «субтитров». Я хотел бы создать вычисляемое свойство, которое содержит все субстанции во всех вещах (плоский массив субтитров).

Мое вычисленное свойство зависит от[email protected], Я считаю, что если яустановлен subthings свойство вещи, мое вычисленное свойство обновляется. Однако если я позвонюpushObjects добавить новые данные в мойсуществующий subthings массив, мое вычисляемое свойство не обновляется.

Я создалjsfiddle показывать. Код выглядит следующим образом:

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);

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос