2013-11-21 58 views
3

我想在登錄後要求所有文件。在我的控制器我有views:[...views...],stores: [...stores...]models:[...models...]Ext.syncRequire()遞歸加載文件?

我的期望是,如果我Ext.syncRequire('MyApp.controller.MyController');這將加載意見模型該控制器以及內,但我的控制檯說,這是加載的意見,商店和模型同步

如果我把Ext.syncRequire([controller, views, stores, models]);我不再收到警告消息。我的問題是,我怎樣才能加載只是控制器(同步),我會得到在控制器加載以及指定的所有東西(指定的商店,模型,視圖)?

回答

2

這隻會發生在requires陣列中定義的依賴關係中,因爲這是加載程序知道的唯一一個。

views,modelsstores只能由應用程序類處理,意味着通過使用應用程序實例調用的控制器來處理。如果您自己需要控制器,則沒有任何操作可以解決這些自定義依賴關係。

這是一個方式,它如何可以做到

  • 獲取「完成加載」回調來去classmanager控制器配置。
  • 從視圖,商店和模型數組構建新的需求列表。
  • 加載它並在此請求的完成加載回調中創建控制器實例。
+0

所以,你的建議是把所有東西放在'require:[stores,models,views]'? – NullCod3

+0

@ NullCod3控制器意味着應用程序實例不是由您加載的。所有這一切的原因都在於框架的類和加載器系統中,並且是有意義的。所以是的,一種解決方案是將全部添加到require數組中,另一個請參閱我的編輯。 – sra

+0

非常感謝。 :) – NullCod3