1

如何在 Ember 的索引控制器中访问另一个控制器?

App.IndexController = Ember.ArrayController.extend({
    doSomethingToAnotherController: function(params) { 
            // how do I access another controller other than the index controller here?
        }
});
4

1 回答 1

1

您可以使用needs将一个控制器连接到另一个:

App.OtherController = Ember.ObjectController.extend({
    //... code here
});

App.IndexController = Ember.ArrayController.extend({
    needs: ['other'],
    doSomethingToAnotherController: function() {
      //you can access the 'other' controller via get for example:
      this.get('controllers.other').doSomething();
    }
});

这是一个工作小提琴:http: //jsfiddle.net/e2fXn/

但是,似乎存在一个未解决的问题,即在循环中使用时会中断{{#each}}(这可能与您的IndexControllerextends相关ArrayController)。

希望这可以帮助!

于 2013-04-21T14:47:52.643 回答