var grid = new Ext.grid.GridPanel()
实例化一个grid,那么这个grid被保存在那了呢?就象Ext保存在window下一样,
如果能够知道grid存在那,就可以得到相应的很多数据了,当然Ext.getCmp是能得到
这个组件的,那这个getCmp()又是从那取的呢?
//源码
getCmp : function(id){
return Ext.ComponentMgr.get(id);
}
get : function(id){
return all.get(id);
},
也就是说实例化的组件对象是保存在ComponentMgr的all中的,那all是嘛?
ComponentMgr内第一行就是:
var all = new Ext.util.MixedCollection();
进入MixedCollection,它里面定义了两个数组(items,keys),一个map
在new一个grid时,会在items中添加一个grid的对象,keys中添加一个对象的grid的id,而在map中会存这个id与这个对象的键值对
new grid时,会调用initComponent方法,而父类在Container的initComponent方法中会触发add事件,add方法中第一句是
this.initItems()
initItems : function(){
if(!this.items){
this.items = new Ext.util.MixedCollection(false, this.getComponentId);
this.getLayout(); // initialize the layout
}
},
在这里新建了一个MixedCollection,在add方法中接着会将组件add到items中this.items.add(c);
但是我始终搞不明白ComponentMgr是怎么和这个MixedCollection拉个关系的
分享到:
相关推荐
这些文档深入探讨了Ext2.0的各个方面,可能包括布局管理(Layouts)、数据存储(Data Stores)、Ajax通信(Ajax Requests)以及组件扩展(Component Extension)。布局管理是Ext2.0中的关键概念,它决定了组件在页面...
1. **store**:这个属性指定了Grid的数据源,通常是一个`Ext.data.ArrayStore`对象。ArrayStore用于存储和管理一维或二维数组数据。 2. **stateful**:这个布尔属性决定是否保存Grid的状态,包括列的排序、隐藏和...
在服务器端,`findByPersoList()`方法处理了数据查询请求,通过`JSONArray.fromObject(personList)`将Java对象转换为JSON数组,然后构造了一个包含总记录数和结果数组的JSON字符串。这种客户端与服务器端的数据交互...
这篇文档是针对初学者的Ext学习笔记,涵盖了JavaScript、CSS、数据库权限管理、JSP编码问题以及Flex/MXML等多个IT领域的基础知识。以下是这些知识点的详细解释: 1. JavaScript中的`replaceAll`方法:在JavaScript...
- **Ext.data.Store篇**:`Ext.data.Store`是Ext JS中用于存储数据的核心类,它可以连接到不同的数据源(如本地数组、远程服务器等),并提供数据检索和操作的方法。 - **Ext.data.JsonReader篇**:`Ext.data....
DB4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接在内存中以对象的形式存储...这份笔记涵盖了对象的存储、查询、更新、删除,以及事务和版本控制等核心概念,希望对你在使用DB4o时提供指导。
在嵌入式Linux中,理解不同类型的文件系统(如ext2、ext3、ext4、FAT、YAFFS等)及其工作原理对存储管理至关重要。同时,知道如何挂载、格式化和维护文件系统也是必备技能。 七、系统启动流程 从电源开启到操作系统...
11. **JSON序列化篇**:这部分内容可能涉及JSON对象的创建、解析以及在ExtJs中的应用,特别是在数据交换和存储中的作用。 12. **通信篇**:这一部分深入探讨了ExtJs中的Ajax通信技术,包括异步请求、数据传输格式、...
理解如何将JavaScript对象序列化为JSON字符串,以及反序列化为JavaScript对象,对数据传输和存储至关重要。 12. **通信篇** 学习如何利用Ajax技术进行异步通信,包括XMLHttpRequest对象、JSONP、以及使用Ext.Ajax...
- **扩展类加载器(Extension ClassLoader)**: 负责加载<JAVA_HOME>\lib\ext目录中的,或者被java.ext.dirs系统变量所指定路径中的所有类库。 - **应用程序类加载器(Application ClassLoader)**: 负责加载用户类路径...
### ExtJS 学习笔记概览 #### 一、ExtJS 入门 **1.1 ExtJS 构成及如何引用** ExtJS 是一款基于 JavaScript 的开源框架,专为 Web 应用程序的前端界面设计。其核心优势在于提供了一套丰富的 UI 组件和强大的数据...
6. **Ext.data.Store篇**:Store是ExtJs中的数据管理器,负责存储和管理数据集,这里可能解释了如何配置Store、加载数据、监听数据变化等。 7. **Ext.data.JsonReader篇**:JsonReader用于解析JSON格式的数据,与...
* 常见的文件系统类型有ext2、ext3、RAMFS、iso9660、NFS、MS-DOS、FAT、NTFS等。 二、Linux介绍 * Linux是一个开源的操作系统,具有高可靠性、安全性和可扩展性等特点。 三、Linux文件权限 * Linux文件权限是指...
- 可以使用`g`对象短暂存储请求间的信息。 11. **会话管理** - Flask使用`session`对象来实现用户会话,需配置合适的会话密钥和存储机制。 12. **测试与调试** - Flask提供了内置的开发服务器和调试模式,方便...
1. **MFC基础**:MFC的核心是它的框架,它包括了各种C++类,如CWinApp、CWnd、CDialog、CButton等,这些类对应着Windows操作系统中的不同对象,如应用程序、窗口、对话框和控件。通过这些类,开发者可以轻松创建和...
XML(Extensible Markup Language)是可扩展标记语言,用于存储和传输数据,可以用来进行服务器和客户端之间的数据交换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
2. **扩展类加载器** (`ExtClassLoader`): 用Java编写,继承自`ClassLoader`,负责加载`lib\ext`目录下的类,允许开发者通过引用操作加载器。 3. **应用程序类加载器** (`AppClassLoader`): 用Java编写,继承自`...
### JavaScript 和 jQuery 知识点 #### JavaScript 对象 ...以上是EasyUI的学习笔记,详细介绍了JavaScript和jQuery的基础知识,EasyUI框架的优势、如何学习和使用EasyUI以及搭建开发环境的具体步骤。