我需要在ItemController中调用一个函数,或者从ArrayController设置子项ItemController的新属性。

为了更好的画面

App.ProductsController = Ember.ArrayController.extend({
    needs: ["product"],
    itemController: 'product',

    contentChanged: function() { //no idea how to initiate this, hence I use observes

        // How do I access the children controllers from here?
        // I had tried below, but not working:
        // this.get("content").forEach(function(item) {
        //      item.doSomething();
        // });

    }.observes('content')

});

App.ProductController = Ember.ObjectController.extend({
    doSomething: function() {
       //supposed to do something
    }
});


我尚未找到任何方法来执行此操作。

最佳答案

那应该是arrayController实例本身上的forEach。 this.get("content")此处返回未包装在itemController中的模型数组

this.forEach(function(item) {
  item.doSomething();
});

10-06 04:23