我想知道爲什麼我們需要在ExtJS的類上配置別名?它提供了什麼好處?什麼是需要配置類的別名?
回答
首先,最簡單的,但有價值的好處是,你並不需要大概long類型的類名,但是當你需要使用類,你可以使用短(ER)的別名。
想象一下,我們需要在佈局中使用上述類。
沒有別名,我們需要輸入:
Ext.create( 'Ext.container.Container',{ 佈局: 'VBOX' ,項目:[ Ext.create('MyApp.view。 MyGridView',{ // config
})
] });
Ext.create( 'Ext.container.Container',{ 佈局: 'VBOX' ,項目:[ Ext.create( 'MyApp.view.MyGridView',{// 配置
})
] }); 並用別名,我們輸入:
Ext.create( 'Ext.container.Container',{ 佈局: 'VBOX' ,項目:[{ 的xtype: 'mygrid' //配置 }] });
Ext.create('Ext.container。容器',{ layout:'vbox' ,items:[{0} 0 xtype:'mygrid' // config }] }); 後者比前者少20次按鍵。現在想象你需要在更大的應用程序中使用你的類數百次。很明顯,xtype可以節省大量的打字量,而不用說減少長名稱拼寫錯誤的風險。
其次,非常有價值的好處是Ext.create無條件地實例化類,無論它是否需要。您可以在大型應用程序中擁有許多視圖,Tabpanel或卡布局,用戶可能永遠不會點擊這些視圖,或者很少。
換句話說,一些定義的類永遠不會被實例化,或者他們可以等到用戶需要它們。因此,xtype可以節省內存,這在現代計算機中並不重要,因爲實例化的Ext/Touch類不會吃千兆字節。
我想提及的最後一個好處是,這非常重要,它的代碼可讀性和可維護性也大大提高了。代碼並不只是寫一次,它工作時被遺忘,但它是閱讀,調試和許多開發人員修改,以便一切,使得它更短,更好,更容易理解計數
「因此,xtype可以保存內存」是不正確的。實例在容器初始化時創建,無論它們是否爲xtypes。 –
你能解釋一下嗎? @EvanTrimboli –
xtype
和alias
用於從其他對象中獲取對象的引用,而不是自己實例化或將它們放入變量。
因爲Ext.form.TextField
有xtype
「文本框」,我們可以這樣做:
items: [{
xtype: 'textfield',
autoWidth: true,
fieldLabel: 'something'
}]
定義視圖像這樣有一個很大的好處。這樣的框架將lazy load的對象。
你也可以用Ext.ComponentQuery.query()
例如稍後查詢它:
Ext.create('MyApp.view.MyButton', {
xtype: 'mybutton',
.....
});
後面的代碼,如果你這樣做:
var buttonArray = Ext.ComponentQuery.query('mybutton');
更多信息:
https://www.sencha.com/forum/showthread.php?150577-Ext.define-xtype-vs-alias
http://docs.sencha.com/extjs/4.1.3/#!/guide/application_architecture
https://www.sencha.com/forum/showthread.php?29531-Form-inside-Accordion-inside-Window&p=138612&viewfull=1#post138612
https://stackoverflow.com/a/13594388/408487
https://stackoverflow.com/a/2318285/408487
- 1. aws dynamodb需要什麼配置.net 4#
- 2. 什麼時候需要分配類?
- 3. 什麼是「配置類型」?
- 4. Hibernate需要的C3P0設置是什麼?
- 5. 需要的類型參數是什麼?
- 6. 爲什麼你仍然需要使用該類,如果它是在laravel別名?
- 7. 需要改變100%控制postgreSQL的配置文件是什麼?
- 8. Mybatis配置類型別名
- 9. 爲什麼對象傳遞是需要在類名爲python的
- 10. Cocos2D:需要分配什麼?
- 11. 什麼是位置編譯需要
- 12. 什麼類型/類別的Web應用程序需要分發?
- 13. 是否需要配置塊?
- 14. 爲什麼NSArrayController需要Swift類名(IB)中的模塊名?
- 15. C#需要什麼類型?
- 16. 爲什麼要配置cabal?
- 17. 需要什麼('../')是什麼意思?
- 18. 什麼是需要XYGraph
- 19. 爲什麼我要爲一個匿名類「需要opCmp」?
- 20. 爲什麼bootstrap都需要類名和Id名稱來摺疊?
- 21. 靜態類和單一類的主要區別是什麼
- 22. 爲什麼我需要自加入別名?
- 23. 爲什麼android需要showAsAction =「always」以別名爲前綴?
- 24. 爲什麼這個Rust類型別名需要一個生命週期參數?
- 25. 什麼是Qt的配置
- 26. 要什麼是regexpression ':[^:] +:[ - ^:] +:[ - ^:] + *' 匹配
- 27. 什麼是python中的類,它做什麼,它爲什麼需要它?
- 28. TableData網關與Rowdata Gataway的區別是什麼?需要澄清
- 29. PHP的需要()不能識別別名類
- 30. 是什麼需要之間的差(__目錄名+路徑),並且需要(./路徑)
你能告訴我們試過什麼,以便人們可以幫助你?請檢查[如何提問](http://www.stackoverflow.com/help/how-to-ask)。 –
Ext.define('MyApp.view.MyAppView',{ extend:'Ext.grid.Panel' ,alias:'widget.myapp' }); 爲什麼我們需要這個'別名',它提供了什麼好處? –
檢查[this](http://extjs.eu/what-is-an-xtype/) – MMT