Ext.widget()和Ext.ComponentQuery.query()之间的区别?

时间:2011-07-20 20:50:24

标签: extjs4

我创建了一个扩展Ext.window.Window的组件,我给它一个'widget.customereditor'的别名。一旦我创建了一个显示该组件的实例,以下两段代码似乎都得到了对同一件事的引用:

Ext.ComponentQuery.query('customereditor')[0];
Ext.widget('customereditor');

问题是当我尝试对返回的对象执行close方法时。所以以下工作并关闭窗口:

Ext.ComponentQuery.query('customereditor')[0].close();

虽然这不起作用:

Ext.widget('customereditor').close();

我想知道两种查询方式之间有什么区别?

1 个答案:

答案 0 :(得分:11)

阅读API文档后,我找到了答案。事实证明,Ext.widget实际上并不查询DOM中现有的组件实例,而是通过xtype创建组件的新实例。 Ext.ComponentQuery应该用于查找组件的现有实例。