2013-03-11 101 views
1

我正在玩ExtJS4.2。我添加了一个controllers数组到一个简单的控制器(不,我没有继承fom应用程序),它们都被加载(但未初始化)。为什么我能够在控制器中使用控制器阵列?

但是在API中没有controllers财产Ext.app.Controller。他们没有被初始化只是一个旁注,对我来说并不重要。

我只是想知道他们为什么会加载,如果这种行为是我可以依赖的?

回答

2

这是4.2中MVC重构的一个副作用,因此它既没有完全实现,也没有正确记录。我们很可能会在4.2.1中解决这个问题,但我不能保证它不会改变。

+0

再次约4.2也许你可以看看这里http://stackoverflow.com/questions/15358010/use-and-function-of-the-new-ext-app-eventdomain – seba 2013-03-12 09:55:34

+0

我真的很喜欢这种行为。它允许在控制器中定义dependend构造函数,而不是每个都加载它们。缺点是控制器没有初始化,所以我需要自己做这个。我试图读取源代码,并没有完全理解为什么会发生这种情况。应用程序控制器继承控制器,反之亦然。如果它不复杂,我会喜欢它,如果你能解释这是怎么发生的。我想这是由于继承? – seba 2013-03-12 11:10:03

+0

不,其实原因很简单:当我重构控制器/应用程序关系时没有想到它,并没有按照它的工作方式实现它。就是这样,不是秘密酱油。它必须在应用程序级别上完成,因为调用Controller.init()以Application对象作为参数,此应用程序在Application初始化之前不可用。我需要考虑这一点,因为如果我们在这里不小心,我们可以得到一个很好的比赛条件,这只会让事情变得更糟。 – 2013-03-12 20:00:07

相关问题