`
yiminghe
  • 浏览: 1460297 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ext.Component 源码阅读笔记

阅读更多



component 继承 Observable ,添加了自定义事件的功能。


提供了一个框架用来供其他具体组建继承,使得其他组件可以参与到规定的组件生命流程
( 创建:initComponent , rendering:onRender , destruction:onDestroy )

方法之一 是通过利用template模式提供了一批可以被覆盖的钩子 函数
如:onXyy 系列函数。

更灵活 的就是通过监控相应的事件,进行相应的处理。


plugin : 通过调用自定义plugin的 init 方法,并把自身传递作为参数,使得插件可以先做一些处理。

状态 通过将一些配置,自身状态存在cookie中,当启动时从state管理中读取存贮的响应 状态配置,apply到自身。

applyToMarkup : 将参数内容清空,参数父亲节点作为容器,调用 render


render : 将参数作为容器渲染

hideMode配置: 三种选项 visibility offsets display ,其中offset是将元素绝对定位到屏幕以外,仍可以通过javascript获得该元素的高宽,很不错地方法。

addClass removeClass : this.cls 作为缓冲,防止render前调用 ,render里面会 delete this.cls;

focus: 注意 selectText 参数,如果需要选中文字如 text input 则 调用 select(),当时要判断是否渲染过

getXTypes isXType : 可以获得继承层级结构的信息,比instanceof 好的。


xtype 通过 ComponentMgr 管理:

实际上是管理 MixedCollection ,里面元素都是component(及其子类) 的实例

registerType: 是将 xtype 字符串信息 链接到 构造函数里面去 fn.xtype=xtype; 然后用字典将xtype和对应函数关联起来,则可以用return new types[config.xtype || defaultType](config);


调用 new fn(config); fn 为对应 xtype 对应的构造函数。

分享到:
评论

相关推荐

    extjs-Ext.ux.form.LovCombo下拉框

    这些文件可以帮助开发者理解并应用`Ext.ux.form.LovCombo`,通过查看源码学习如何初始化、配置以及处理相关事件。 综上所述,`Ext.ux.form.LovCombo`是EXTJS中用于创建具有多选功能和良好浏览器兼容性的下拉框组件...

    Ext.get与Ext.fly的区别

    ### Ext.get与Ext.fly的区别 在Ext JS框架中,`Ext.get`和`Ext.fly`是两个非常重要的方法,它们主要用于操作DOM元素。理解这两个方法之间的区别以及如何使用它们对于开发高质量、高效率的应用程序至关重要。 #### ...

    Ext组件描述,各个组件含义

    **1.4 Component (Ext.Component)** - **xtype**: `component` - **功能描述**:Component 是所有 Ext 组件的基础类,它定义了所有 Ext 组件都共有的基本属性和方法。 - **主要用途**:作为所有其他组件的基类。 *...

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    Ext.Ajax.request跨域

    标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...

    Ext.get与Ext.fly 的区别

    在阅读《Ext_Core手册.pdf》时,可以深入研究EXTJS的核心概念和API,了解更多关于`Ext.get`和`Ext.fly`的底层实现以及它们在不同场景下的应用策略。同时,理解EXTJS中的`Element`类和DOM操作对于提升EXTJS应用的性能...

    Ext.data.Store的基本用法

    ### Ext.data.Store的基本用法详解 #### 一、Ext.data.Store简介 `Ext.data.Store`是ExtJS框架中用于管理数据的核心组件之一。它主要负责数据的存储、加载、更新等操作,并且提供了多种方法来方便地处理这些数据。...

    org.restlet.ext.spring.jar

    org.restlet.ext.spring.jar

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...

    Ext.Store的获取方法

    在Ext.js中,`Ext.Store`是用来管理数据的类,它通常与各种UI组件(如Grid、ComboBox等)关联,用于存储和检索数据。然而,获取`Ext.Store`的方式并不像获取其他Ext组件那样直接,因为Store并不是一个具有可视界面的...

    EXT.form组件

    EXT.form组件是EXT JS库中用于构建表单界面的核心组件集合。这些组件提供了一系列丰富的控件,用于创建具有不同功能的交互式表单。在EXT JS中,表单组件不仅包含基本的输入字段,还支持复杂的输入类型和验证机制。 ...

    EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档

    EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...

    vbe6ext.olb

    运行Microsoft office时,vbe6ext.olb不能加载

    Ext3.2的Ext.data.Store类和Ext.Ajax类的实际运用

    环境:Window XP Sp2、Tomcat 6.0、...关于Ext.data.Store类,我们可以看出:该框架提供了客户端缓存的功能--这对于我们框架系统是非常有帮助的。本示例代码注释非常详细。 阅读对象:需要使用Ext框架进行Web开发的人员

    fp40ext.dll无法加载安装程序库

    9号下载说明.txt文件可能包含了解决问题的详细步骤或安全下载fp40ext.dll的链接,建议仔细阅读并遵循其中的指示。 总的来说,处理“fp40ext.dll无法加载安装程序库”的问题需要耐心和细心,通过对各种可能原因的...

    EXT dojochina文本框示例Ext.form.TextField.rar

    在本示例中,"EXT dojochina文本框示例Ext.form.TextField.rar"是一个压缩包,包含了EXT框架中关于`Ext.form.TextField`组件的示例代码。 `Ext.form.TextField`是EXT框架中的一个核心组件,用于创建基本的输入字段...

    Ext.window从右下角弹出/隐藏

    ### Ext.window从右下角弹出/隐藏:深入解析与实现 #### 一、概述 在Web应用开发中,为了提升用户体验,开发者经常会利用各种UI框架来实现丰富的交互效果。ExtJS作为一款成熟且功能强大的JavaScript框架,在这方面...

    ext JS 源码和学习资料

    例如,ext-3.x版本的源码中,`Ext.lib.Component`是所有组件的基类,而`Ext.container.Container`则是容器组件的基础,了解这些底层机制有助于自定义组件或优化已有组件。 二、EXT JS API 文档 1. Ext3.2中文API....

    EXT dojoChina按钮控件示例 Ext.Button.rar

    EXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rar

Global site tag (gtag.js) - Google Analytics