有没有办法让ExtJS 4.0应用程序中的所有控制器

时间:2011-09-21 17:06:48

标签: web-applications extjs extjs4

我正在使用ExtJS 4.0的新MVC架构构建应用程序。我正在寻找一种迭代应用程序中所有控制器的方法。下面我给出了一些示例代码,以便了解我正在尝试做什么。

Ext.application({
    name: 'MyApp',
    appFolder: '/App',
    controllers: [
        'HdMenuItemsController'
    ],
    launch: function () {
        //This works:
        this.getController('HdMenuItemsController')

        //I want to do something like this:
        this.controllers.each(myFunction);

        //or this:
        this.getAllControllers().each(myFunction);

        //or this:
        Ext.getControllersForApp(this).each(myFunction);


        }
    });

1 个答案:

答案 0 :(得分:0)

没有我所知道的内置方式(我有点好奇为什么你需要这样做),但是你可以按照以下方式完成此操作(将它放在launch()函数中,就像你在示例中所做的那样):

this.controllers.each(function(item, index, length){
    var myController = this.getController(item.id);
    //now do something with myController!

    //OR:
    this.getController(item.id).someFunction();
    //where someFunction() is defined in all of your controllers
});