相关疑难解决方法(0)

ExtJS 4 MVC多个视图实例和子/子控制器的困难

我在ExtJS 4中遇到了MVC模式的问题.至少,我认为我有.通过这个问题与多个人接触,并在Sencha论坛上多次发布,我现在转向更广泛的受众,希望得到一个灯泡或确认.

问题

您的应用程序可以打开许多不同的视图,其中一些视图本身就是迷你应用程序.另外,用户可能希望打开视图的多个并发副本.

此应用程序是单页客户端Javascript应用程序.

ExtJS 4 MVC模型希望您在Application类中定义所有控制器.然后在应用程序加载时初始化这些控制器.控制器跟踪视图,模型和存储.

多次初始化控制器A时,比如创建多个视图副本,最终会有两个引用相同数据存储的视图,并在功能上将重复事件发送到应用程序事件总线.

我通过向Component和Controller添加新的原型方法来重构我的应用程序,以允许a)子控制器(我的一些控制器变得非常庞大)和b)专门为它们使用的视图定义存储.模型仍然可以在控制器上定义,只是为了方便处理程序使用,如果你需要做一些事情,比如从服务器上获取记录.

我对MVC的理解会让我相信模型与View更直接相关,而不是Controller.我假设ExtJS 4决定将存储(我认为可以看作是更经典模型的包装器)附加到控制器,以鼓励重复使用加载的数据,并优化远离同一类的多个副本实例化.但是,在我看来,如果打算让用户可以使用许多视图实例,则无法执行此操作.根据我的想法,拥有许多实例是OO框架中的一个重要选项,因此我为什么要逆转趋势并在一些Ext基类上实现原型.(谢谢Ext.implement!).

有没有办法让一个视图的多个并发实例使用开箱即用的MVC类并使用提供的setter,getter等来加载不同的数据

extjs4 extjs-mvc

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

extjs-mvc ×1

extjs4 ×1