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

Lar*_*rod 2 extjs4

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

Ext.ComponentQuery.query('customereditor')[0];
Ext.widget('customereditor');
Run Code Online (Sandbox Code Playgroud)

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

Ext.ComponentQuery.query('customereditor')[0].close();
Run Code Online (Sandbox Code Playgroud)

虽然这不起作用:

Ext.widget('customereditor').close();
Run Code Online (Sandbox Code Playgroud)

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

Lar*_*rod 11

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