基本上這裏就是我走過這麼遠了:sencha touch 2.0中的Extend和Require屬性有什麼區別?
擴展:
讀here
基本上延伸手段子類,其中的 父類可以將所有屬性被繼承到子類中。
要求:
讀here
Loads all classes by the given names and all their direct dependencies.
我錯以爲這些都是類似?
我找不到任何其他差異,有人可以解釋這種差異嗎?
基本上這裏就是我走過這麼遠了:sencha touch 2.0中的Extend和Require屬性有什麼區別?
擴展:
讀here
基本上延伸手段子類,其中的 父類可以將所有屬性被繼承到子類中。
要求:
讀here
Loads all classes by the given names and all their direct dependencies.
我錯以爲這些都是類似?
我找不到任何其他差異,有人可以解釋這種差異嗎?
擴展 子類意味着如果你創建類B中擴展類A,B可以像一個A進行處理,以及繼承方法和屬性。 A的方法和屬性成爲你的新B級的一部分
需要 這只是一個裝載mecanism是保證一些所需的類加載之前就可以使用它。對於爲例,如果你需要顯示一個消息框,你會叫:
Ext.Msg.confirm("Confirmation", "Do you want to add " + value + " to the database ?");
Ext.Msg是不是你的類的一部分,你基本上只是告訴系統顯示彈出。但是,如果你在啓動應用程序時這樣做,那麼在類Ext.Msg已被加載之前,它會失敗。
要總結:
擴展 =>當你需要成爲一個類X
需要 =>當你需要使用一個類X
擴展 - 該類將擴展爲一個父類。 u能在控制器或存儲或模型,其延伸至一個父類看到此
例如
Ext.define("MyApp.controller.ExtendParent", {
extend: "Ext.app.Controller",
需要 - 從一個或多個其它類所需要的功能的類。
Ext.define("MyApp.controller.ExtendParent", {
extend: "Ext.app.Controller",
requires: [
'Ext.MessageBox',
'MyApp.store.ParentStore',
'MyApp.view.ParentView'
],
所以不同的是需要給來自多個類和擴展的功能只給出1? –
部分是。 Extends將嘗試繼承超類的行爲。但需要嘗試調用特定用法。不要試圖深入挖掘。在這個例如「Ext.MessageBox」中顯示對話框,你應該在需要的內部調用它 –
我不會說部分。 'extends'意味着這個類將成爲一個子類。 'require'只是表示在完成類的定義之前應該加載所請求的類。 –