当构建应用程序时,设置控制器的最佳方式是什么?我知道路由,事件监听器和大多数所有的交互性都应该由控制器来管理,但是我的主控制器已经开始失去控制,并且我不知道如何将我的逻辑最好地分离成单独的控制器,而不需要让他们一直“运行”...初始化和解构控制器的最佳实践
回答
将应用程序全部加载到应用程序启动时即使使用数千个控制器,也可以使用
数百个
。这是需要时间的视图渲染。
尽管使用sencha cmd,请确保您的应用程序尽可能最小化并且连接在一起。
在测试中,我创建了1000个简单的控制器,就像这样:
Ext.define('app.controller.ControllerN', {
extend: 'Ext.app.Controller',
init: function(application) {
this.control({
buttonN1: {
click: function() {
}
},
buttonN2: {
click:function(){}
},
... 20 listeners
});
}
});
我他们串联成一个文件,并加载它们在app.js这样的:
Ext.application({
name:'app',
controllers:[
'Controller0',
'Controller1'
... 1000 controllers
],
launch:function(){}
}
花浏览器刷新(Chrome)一秒钟,直到最后一个控制器的init方法被调用。
我有类似的问题,所以我根据它将支持的业务功能划分控制器,例如userController执行所有与用户相关的操作,例如登录,注销,更新等,而cartController则执行与购物车有关的所有操作,如添加到购物车,应用优惠券,付款等。由于单个视图可以具有与不同应用领域相关的许多功能,您可以在多个控制器中将此参考添加到此视图中,并仅侦听相应控制器中的相关事件。
好的,你是否将所有的控制器添加到你的主应用程序?你知道如何根据活动视图来定义你需要哪些控制器吗? – 2013-05-10 19:00:42
是的,我确实在'Ext.application'' controllers'数组中添加了所有控制器,以便应用程序加载所有这些控制器,并根据控制器的'control'配置找出哪个控制器将侦听触发事件。顺便说一句,我不明白你的问题:'你知道怎么根据活动视图定义你需要哪个控制器吗?'因为控制器的'ref' config是我们定义控制器处理哪些视图的地方。 – ThinkFloyd 2013-05-13 05:39:46
- 1. EntityManager初始化最佳实践
- 2. JPA(Hibernate)表初始化,最佳实践
- 3. 初始化文件最佳实践
- 4. 编程最佳实践:初始化或不初始化
- 5. Java:声明和初始化的最佳实践
- 6. AngularJS控制器的最佳实践
- 7. 基本控制器的最佳实践
- 8. 初始化包含IoC的实例的最佳实践
- 9. 最佳实践控制
- 10. 控制最佳实践
- 11. 最佳实践轨控制器
- 12. TabBarView多个控制器(最佳实践)
- 13. 的DevExpress的WinForms网格初始化最佳实践
- 14. 的Team Foundation Server:多个构建控制器最佳实践
- 15. 初始化数据库连接的最佳实践
- 16. 在Java Swing中初始化代码的最佳实践
- 17. 在iPhone上初始化NSString的最佳实践
- 18. MVC中Hibernate惰性属性初始化的最佳实践?
- 19. Java最佳实践:控制器中呼叫的最佳数量
- 20. Spring MVC - Spring Security - 控制器通用架构 - 最佳实践
- 21. Phonegap + Jquery Mobile:初始化/注册最佳实践
- 22. D语言:初始化动态多维数组最佳实践?
- 23. 德尔福:应用程序初始化 - 最佳实践/方法
- 24. 控制安装量的最佳实践
- 25. Python过程控制的最佳实践
- 26. 解决方案结构/最佳实践
- 27. RESTful控制器的最佳实践CREATE和UPDATE方法
- 28. 多机器和版本控制开发的最佳实践
- 29. 控制器和模型编码的最佳实践?
- 30. $控制器初始化
如何编写1000个控制器,每个监听20个事件?它不会像你想象的那么快。确实,通常渲染会给你带来瓶颈,但DeftJS的方式很好。在DeftJs中,您将视图控制器绑定到视图实例。在ExtJS控制器中是单身人士。 – catalinux 2013-06-09 15:35:29
@catalinux。更新了我的答案。 Singleton控制器在extjs中工作正常,即使有多个视图实例。你如何用Deft选择表单中的所有字段? – 2013-06-25 21:21:52