如何删除控制器ExtJS?

Ole*_*leg 6 controller extjs

我在应用程序中动态创建控制器,如下所示:

var loadedController = me.app.getController(controller_name);
            loadedController.init();
Run Code Online (Sandbox Code Playgroud)

使用后如何删除此控制器?谢谢.

mis*_*cko 12

ExtJs目前不支持从开箱即用中删除控制器.要清理控制器,请执行以下操作:

  • Ext.app.EventBus使用一种方法扩展,该方法uncontrol取消注册此控制器在EventBus上注册的所有事件侦听器.查看Ext.app.EventBus#control派生实现的来源.或者使用这个.
  • Ext.app.Application使用removeControllercontrollers集合中删除给定控制器实例的方法进行扩展.这是一个Ext.util.MixedCollection,查看源代码Ext.app.Application#getController.然后使用清理该控制器的所有已注册侦听器uncontrol.
  • destroy在特定控制器上实现方法和/或扩展Ext.app.Controller.clearManagedListeners()如果适合您的应用程序体系结构和控制器生命周期,您至少应调用并可能销毁此控制器创建的其他对象(如视图或存储).