文章目录
Ext JS 加入了ViewModels和 MVVM, 可以像MVC的 ViewController一样。这两种方式不相互排斥, 甚至可以混合使用。
应用层级控制器 - Application-level Controllers
一个控制器继承自Ext.app.Controller, 这些控制器使用类似 CSS的选择器来查找组件和响应事件。也可以通过 refs 选择或获取组件实例。
这些控制器在应用启动的时候创建, 会在整个应用的生命周期中存在。控制器也可以管理多个视图的实例。
在大型项目中, 视图和控制器可能是有多个不同开发团队开发,最终集成到应用中。 要确保控制器仅对其相关的视图响应是比较困难的。另外, 开发人员通常希望在应用启动的时候限制控制器的数量。虽然可以通过一些方法懒加载控制器, 但是即使不需要它们也不会被销毁。
视图控制器 - ViewControllers
Ext JS5及之后版本向后兼容合法的应用层级控制器。引入了新的控制器类型Ext.app.ViewController, 解决了大型项目控制器的问题。
- 使用 “listeners”和 “reference”配置简化了和视图的连接
-利用视图的生命周期管理和其管理的视图控制器的生命周期
-基于一对一的视图管理关系降低了视图控制器的复杂性
-提供封装使嵌套视图可靠
-保留在关联视图下方的任何级别选择组件并收听其事件的功能。