2013-03-11 94 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

相關問題