`
caibinghong
  • 浏览: 151023 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

小谈Ext架构-Widget之父Component:总结

 
阅读更多

Widget之父Component:总结

在这里,我们引用Ext Overview中的Component life cycle对组件的功能进行相应的总结:
[list=1]

·  配置项对象生效:
组件对象的构造器会把全部的配置项传入到其子类中去,并且进行下列所有的步骤。

·  组件的底层事件创建
这些事件由组件对象负责触发。事件有enable, disable, beforeshow, show, beforehide, hide, beforerender, render, beforedestroy, destroy

·  组件在组件管理器里登记
initComponent这方法总是使用在子类中,就其本身而论,该方法是一 模板方法(template method),用于每个子类去现实任何所需的构造器逻辑(any needed constructor logic)。首先会创建类,然后组件对象各层次里面的每个类都应该调用superclass.initComponent。通过该方法,就可方便地实现(implement),或重写(Override)任意一层构造器的逻辑。

·  加载插件(如果有的话)
如果该组件有指定任何插件,这时便会初始化。

·  渲染组件(如果必须的话)
如果指定了组件的renderTo applyTo配置属性,那么渲染工作就会立即开始,否则意味着延时渲染(在layout对象的layout方法中也会对组件进行渲染),即等待到显式控制显示,或是其容器告知其显示的命令。

渲染过程 Rendering
[list=1]

·  触发beforerender事件
这是个可取消的事件,指定的句柄(handler)通过返回false可阻止组件进行渲染

·  设置好容器
如果没有指定一个容器,那么将使用位于DOM元素中组件的父节点作为容器。

·  调用onRender方法 这是子类渲染最重要的一个步骤,由于该方法是一个模板方法(template method),用于每个子类去现实任何所需的渲染逻辑(any needed render logic)。首先会创建类,然后组件对象各层次里面的每个类都应调用superclass.onRender。通过该方法,就可方便地实现(implement),或重写(Override)任意一层渲染的逻辑。

·  处理组件是隐藏状态 默认下,许多组件是由CSS样式类如"x-hidden"设置隐藏的。如果 autoShow所配置的值为true,这时就不会有这个"hide"样式类作用在该组件上

·  自定义的类、样式生效 Custom class and/or style applied
一切组件的子类都支持clsstyle 两种特殊的配置属性,分别用于指定用户自定义的CSS样式类和CSS规则。 推荐指定cls的方法来制定组件及其各部分的可视化设置。由于该样式类会套用在组件markup最外的一层元素,所以标准CSS规则会继承到组件下任何子元素的身上。

·  触发render事件 The render event is fired
这是组件通知成功渲染的一个步骤。这时,你可肯定地认为组件的DOM元素是可用的了。如果尝试在渲染之前访问组件,会抛出一个不可用的异常。

·  调用了afterRender方法 The afterRender method is called
这是另外一个实现或重写特定所需的后渲染逻辑的模板方法。每个子类应调用superclass.afterRender.

·  组件被隐藏或禁用(如果有的话) The Component is hidden and/or disabled (if applicable)
配置项hiddendisabled到这步生效

·  所有状态感知的事件初始化(如果有的话) Any state-specific events are initialized (if applicable)
状态感知的组件可由事件声明特殊加载和保存状态。如支持,加入此类的事件。

分享到:
评论

相关推荐

    ext3.0-2009-9-14 17:00:20

    【标题】"ext3.0-2009-9-14 17:00:20" 指的是2009年9月14日17点0分0秒发布的ext3文件系统的一个特定版本,即ext3.0。ext3是一种广泛使用的Linux文件系统,其全称为“Third extended file system”。它是在早期的ext2...

    php-ext-xlswriter-ide-helper:PHP 扩展 Xlswriter IDE 助手

    安装扩大pecl install xlswriterIDE 助手composer require viest/php-ext-xlswriter-ide-helper:dev-master文档

    ext4-exactor.zip

    EXT4,全称为第四代扩展文件系统(Fourth Extended File System),是Linux内核中最常见的日志文件系统之一。它继承了EXT3的特性,并引入了一些重要的改进,如更大的文件系统大小、更快的挂载和卸载速度、更高效的元...

    jcifs-ext-0.9.4.jar

    解压即可得到jcifs-ext-0.9.4.jar, java环境资源,jdk1.6及以上

    ext-2.0 ext-2.0 ext-2.0 ext-2.0 ext-2.0

    ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0

    Ext入门-详细教程

    Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-...

    Ext-JS-4.1-Beta-3.zip

    3. **ext-all-dev.js, ext-all-debug-w-comments.js, ext-all-debug.js, ext-all.js, ext-debug.js, ext.js**:这些都是Ext JS的核心库文件,不同文件的用途各有侧重: - `ext-all-dev.js`:包含了所有组件和功能,...

    js ext-4.0.7-gpl

    `js ext-4.0.7-gpl` 标题暗示了这是一个关于ExtJS的开源版本,版本号为4.0.7,遵循GPL协议。这个版本的发布对于开发者来说,意味着他们可以利用此框架构建企业级的Web应用,并且可以深入研究源码,对其进行定制以...

    ext-d3-pivot-d3-component.zip

    在"ext-d3-pivot-d3-component.zip"压缩包中,包含了"ext-d3-component-base.zip"和"ext-pivot-d3-container.zip"两个子文件。前者可能包含了EXT-D3的基础组件和核心功能,比如图表类、数据适配器以及与EXT JS框架...

    134-演示文稿-示例:Linux的ext2文件系统.pdf

    134-演示文稿-示例:Linux的ext2文件系统.pdf

    openwrt-23.05.2-x86-64-generic-ext4-combined-efi.img.gz

    openwrt软路由

    xml-apis-ext-1.3.04.jar

    xml-apis-ext-1.3.04.jar

    spketdwcs-ext-2.1.mxp

    spketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-...

    commonmark-ext-yaml-front-matter-0.12.1.jar

    java运行依赖jar包

    m3u8转mp4工具包

    m3u8转mp4工具包 下载后执行命令: ...2、main方法接收三个参数...#EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:11 #EXTINF:10.043378, 0000.ts ...... 4、懂得都懂,亲测有效

    flarum-ext-embed-video:Flarum扩展,允许用户使用BBCode嵌入视频

    composer require nearata/flarum-ext-embed-video 更新 composer update nearata/flarum-ext-embed-video php flarum cache:clear 去掉 composer remove nearata/flarum-ext-embed-video php flarum cache:clear ...

    flarum-ext-copy-code-clipboard:一种Flarum扩展名,允许用户轻松复制代码标签内的文本

    composer require nearata/flarum-ext-copy-code-to-clipboard 更新 composer update nearata/flarum-ext-copy-code-to-clipboard php flarum cache:clear 消除 composer remove nearata/flarum-ext-copy-code-to-...

    前端开源库-style-ext-html-webpack-plugin

    总结,style-ext-html-webpack-plugin是前端开发中的一个重要工具,它通过内联CSS提升了页面加载速度和用户体验。理解和掌握它的使用,将有助于优化你的Webpack构建流程,打造更高效的前端应用。

    flarum-ext-chinese-search:flarum-ext-chinese-search

    flarum-ext-chinese-search Flarum 论坛中文搜索插件 - 基于 xunsearch 搜索引擎开发 如何安装 安装 xunsearch 服务端 参照 注意安装 xunsearch 需要以下依赖库 gawk make gcc g++ zlib1g-dev 安装插件 composer ...

Global site tag (gtag.js) - Google Analytics