我是Extjs的新手,使用Extjs v4.2.0。要找到一個對象,我可以使用Ext.getCmp(id)或Ext.ComponentQuery.query(attribute)。哪一個更好用,速度更快?Ext.getCmp(id)或Ext.ComponentQuery.query(attribute)
1
A
回答
5
最好是避免直接使用這兩個中的任何一個。 Ext.getCmp
特別被認爲是不好的「代碼味道」。你應該努力以不需要它們的方式來組織你的代碼。
組件查詢很優雅,但您應該從parent container(因此減少研究樹並允許您利用相對的itemId
)或controller中使用它們。我猜測控制器是組件查詢被添加到Ext4的真正原因。
3
getCmp
會更快,因爲它是一個簡單的哈希查找。當您使用query
時,它必須解析並執行查詢,因此僅對於簡單標識,getCmp
更好。
但是,要小心使用身份證,因爲他們需要是全球唯一的。只有在知道只有一個,例如登錄窗口或主應用程序容器的情況下才使用它們是個不錯的主意。
相關問題
- 1. Ext.getCmp與多個然後一個ID
- 2. Ext.getCmp undefined
- 3. Ext.getCmp()未定義
- 4. 爲什麼我被迫使用Ext.getCmp('id')而不是this.objectName?
- 5. 向上()和向下()與Ext.getCmp()
- 6. Ext.getCmp在ExtJS4中不工作
- 7. Ext.getCmp(「板」)給出this.el爲空或不是對象
- 8. 如何找到有使用Ext.ComponentQuery.query
- 9. 我們可以使用Ext.ComponentQuery.query案例id包含一個固定的字符串
- 10. Stubbing A Model Attribute
- 11. 其中attribute =「X」
- 12. set data- * attribute
- 13. ID,ID或ID?
- 14. batik-id-attribute在保存的文檔中出現兩次
- 15. Ext.getCmp不能在extjs中工作
- 16. GAE「no attribute」HTTPSHandler'「dev_appserver.py
- 17. DataTables selected rows data-attribute
- 18. 替換<a /> tag with its src attribute that have another attribute
- 19. [attribute | = value]和[attribute^= value] CSS選擇器有什麼區別?
- 20. CSS left-attribute:50%或500px,以較大者爲準?
- 21. 如何在一個由seleniumtest中的框架構成的頁面中找到沒有id-或class-attribute的鏈接?
- 22. Python類(AttributeError:''object has no attribute'')
- 23. python:'int'object has no attribute'__iadd__'
- 24. active directory auth getting invalid attribute description
- 25. Xquery 3.0 group by attribute value
- 26. self.attribute與@attribute的優點?
- 27. Scipy.cluster.vq.kmeans「list has no attribute shape」
- 28. 從php對象訪問@attribute
- 29. PrincipalPermission(Attribute)如何工作?
- 30. XSLT - 強制@attribute獨特
專注於'更好'並擔心'更快',只有當你做的事情變得緩慢 –