Ext组件模型

 浏览器基础

 


3 核心组件模型
完整的oo支持,成熟通用的小部件,主题,良好的扩展性,快速的更新和发布,快速开发。在程序中经常看见这样的调用:superclass.Constructor:用于指定超类或者基类的构造。JS应用call方法运行构造函数,在适用范围内,第一个参数总是this,以保证构造机器工作在调用函数的作用域内,其他参数作为父类传给构造函数。•
组件生存周期:创建,渲染和销毁,此基类内置hide,show,enable,disable方法,
1, 所有的组件都会在组件管理器中注册,所以所有的组件都能在任意时间通过id被调用,
2, 每个组件都有一个详细的xtype,可以通过getXType()来访问。
    显式声明构建器链和重写 Explicit constructor chaining and overriding 组件会将一个基础构造器连同配置传入到子类中。函数initComponent用于提供制定的构造器逻辑,只要在继承链上的某一个子类实现便可,所有的组件都遵从此方式。此时的子类就可在initComponent中对其设置相关的属性,实现具体的功能。 •
可调控的渲染 Managed rendering 2.0中,每个组件都支持延时渲染(lazy rendering),又称按需渲染(on-demand rendering)。渲染的调控是自动为你完好的。即使如此,你亦可以通过的beforerender和render事件控制渲染发生、结束,达到最为灵活的自定义调控。 •
    可调控的销毁 Managed destruction 每一个组件具有destroy的函数,当组件不再需要时,Ext就负责组件的结束调控,如自动垃圾回收和摧毁组件元素。当然,销毁亦提供相应的事件,如beforedestroy和destroy可按照实际的情况作出逻辑处理。 •
管理声明自动化 Automatic state management 组件内建设置和获取状态(State)的功能,只要是全局对象StateManager和一个状态 Provider都初始化好,那么多数的组件都具有自动状态管理的能力。 •
组件常规行为的统一接口 Consistent interface for basic component behavior 一般常规的行为如隐藏、显示和激活、禁用均是组件的基本特性。如需要,这些都可由子类去重写或制定。 •
由组件管理器负责的可用调配 Availability via ComponentMgr Ext的每一个组件在创建的时候就会由组件管理器登记注册,即你可随时获取任何组件,只需调用Ext.getCmp('id')。
支持插件 Plugin support 现在任何的组件可以通过插件的形式来扩展了。插件实质是带有init方法的一种类。该方法会有一个单独的参数(类型为Ext.Component)传入到其中。插件可通过组件的plugins配置项指定。当组件创建时,如果有插件可用,组件就会调用每个插件上的init方法,传递自身的引用作为参数。 每个插件之后可调用方法或响应组件的事件以实现自身的功能。
3.1 Ext.util.observable
抽象类,提供了通用的接口事件,之类都被认为由一个events属性,用来实现所有的事件定义。函数运行作用域不仅保护了函数内部执行,也可以用来作为参数传递。只要继承了这个类,都可以支持事件,ext是单根事件模型。
3.2 Ext.component
所有的组件都会自动的参与生存周期:创建,渲染和销毁。组件被通过他的配置项增加到容器,或者通过动态的add方法。内置对象支持:hide,show,enable,disable,注意2个方面:
1. 所有的组件都会通过在构造函数在componentMgr中注册,所有的组件都能在任何时间,通过getCmp调用。
2. 所有的组件都有一个详细的XTYPE,可以通过getXtype()来获得。
3.3 Ext.boxcomponent
BoxComponent 是另外一个重要的基类,该类从组件Component扩展,为任何要进行可视渲染和参与布局的组件提供了一致的、跨浏览器的箱子模型(Box Model)实现。       BoxComponent负责调节大小和定位,自动处理各浏览器之间的差异,如外/内补丁、边框的问题,形成一个统一的箱子模型,以支持各种浏览器。2.0的一切容器类(container)扩展自BoxComponent。
3.4 Ext.container
一个组件如果有包含其它的组件,那么,容器Container便是这个组件奠基之石。该类提供了布局方面和调节大小、嵌套组所需的逻辑,并且提供一个基础性的加入组件协调机制。容器类不应该直接使用,其目的在于为一切可视的容器组件提供一个基类。
继承boxComponent,可以包含其他组件,container包含了items的基本操作,包括:添加,插入和删除。最常用的是被用作panel,window,tabpanel的容器,对于以上这些组件,如果不需要在能力上有更多的提升,你可以使用HTML元素的autoEL属性创建轻量级的容器,这是一个有用的技巧在创建一个用column布局的formpanel时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值