在Ext JS 中, 初始化某种类型的组件之后,如何获取到定义的组件对象呢?
典型的场景类似:初始化了一个Grid组件, 后面要获取这个组件的Store, 重新加载Store从后端获取最新的数据来更新表格。
比较直接(也是早期版本的Ext JS 使用最多的)的方式是设置这个组件的id, 通过Ext.getCmp(id) 的方式来获取这个组件,这种方式虽然简单,但是在单页面的应用中, 会频繁的创建和销毁组件, 使用这个方式常常会发生找不到组件, 布局异常等等奇怪的错误, 导致功能失效, 乃至整个页面出错, 所有功能都无法正常使用。所以, 在Ext JS应用中,比较稳妥的方式是使用父子组件查找或是组件Query的方式等方式来查找组件, 这里归纳几种常用的查找组件的方式。
按照查找的顺序, 从上往下查找的方式有:
在组件的初始化中,配置组件的 id,
{xtype: 'panel',title: '组件1: 设置id, 通过Ext.getCmp(id)获取',id: 'myPanel1'}
获取的时候通过 Ext.getCmp(