ExtJS 4 - 关于MVC架构的问题,使用MVC进行组件开发

nig*_*tch 4 javascript model-view-controller extjs extjs4

我有很少的Extjs 4 MVC架构问题,非常感谢一些提示或示例.

  1. 控制器如何与他们的观点相关联?控制器参考其视图的模式是什么?

  2. 控制器应该是应用程序实例的全局吗?我只看到了显示控制器被应用程序实例加载的示例,但我从未见过控制器是某个子组件的一部分.这是否意味着MVC不适用于组件类?示例:我想构建一个列表搜索组件,它由网格,搜索条件面板和更多控件/菜单组成.MVC对于实现该控件的内部逻辑非常有用,但是extjs API表明这不是受支持的场景.

  3. Extjs 4(Ext.require)中有一个很好的动态加载功能.但是它应该以某种方式与MVC架构一起工作吗?是否支持动态加载视图和控制器?与前一个问题一样,我只看到了在应用程序启动时预先加载所有控制器,模型和视图的示例.我正在考虑加载一个关于用户操作的视图,并且只有在用户完成操作后才能知道该视图的名称 - 如何加载该视图,它的控制器怎么样?

最好的问候RG

Nei*_*gan 5

  • 我推荐监督控制器模式.本质上,视图没有逻辑,除了简单的数据绑定(想想组合框和网格),并且所有事件处理都在控制器中(例如:用户单击按钮刷新计算).该模型处理所有数据逻辑(例如:计算贷款的每月付款).控制器可以使用form.loadRecord()将模型加载到视图中,并使用form.updateRecord()将表单值保存到模型中.

  • 控制器应该没有状态:没有用户定义的属性,只有事件处理程序.这样,控制器可以同时处理多个视图实例.你需要一些技巧来获得对视图的引用(通过第一个参数),但我没有遇到任何问题.

  • 您可以在启动时加载所有控制器.只需确保连接并最小化文件.