我正在使用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);
}
});
答案 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
});