我最近听说4.2关于MVC应用程序的工作方式会有一些重大变化。我下载了测试版,但API似乎完全相同。任何人都可以向我解释即将到来的变化以及这些有什么关系?如果我更新,我是否需要担心所有控制器都会停止工作?
答案 0 :(得分:8)
是的,我会将我们对MVC所做的更改称为4.2非常重要;然而,向后兼容始终是我们的首要任务。我确实承认,在4.2之前,MVC实现存在许多长期未解决的问题,这促使人们跳过所有类型的箍来做他们需要的事情。我们一直在尝试解决这些问题并简化MVC体验,同时添加针对拥有大型应用程序的开发人员的几项功能。 4.2 beta 2将包含大部分内容,我们很乐意听取您对它们的反馈。
我计划在4.2发布之前写下这些改进,但这里有一个快速列表:
Ext.app.EventBus
,就像提到的@sra一样,现在是单身人士,并且在您的应用程序中始终可用 - 尽管直接使用它没有多大意义Ext.app.Controller
不再依赖于Ext.app.Application
来做事情,并且可以在不启动整个依赖关系树的情况下进行实例化 - 这意味着您可以对控制器进行单元测试!Ext.app.Application
扩展的Application类,并在此类中包含您的逻辑Ext.application()
不再有无法形容的黑魔法;在传递Application类名时,它只是实例化它。如果你像以前一样传递一个配置对象,它将使用这些配置选项声明新的Application类,并实例化它 - 与上面相同的逻辑,执行有点不同Ext.application()
不再需要所有依赖树同步(以前),所以要注意一件事Ext.app.Application
现在使用自己的祖先正式处理 ,可以在您的应用中用作顶级控制器对于向后兼容性有一些更少的改进和黑客,主要涉及依赖性跟踪。如果你不做一些过于疯狂的事情,这些不应该绊倒你。如果你这样做,这就是Betas的用途。 :)
希望这有帮助!
答案 1 :(得分:6)
不,除非你做的事情非常奇怪,否则你不必担心。
主要的变化是控制器不再需要Ext.app.Application
个实例。这是因为Ext.app.EventBus
的更改现在是单例,因此所有控制器都可以使用相同的实例。
这就是我现在所知道的。如果我获得新信息,我可以更新我的帖子