Ext核心库的研究

1. Ext.DomHelper

这是一个DOM操作的辅助类,这个类其实很简单,主要进行元素的插入操作,它将插入的DOM元素的情况分为四类:在开始标记之前;在开始标记之后;在结束标记之前;在结束标记之后。被插入的元素可以html片断,也可以是一个配置对象,一个配置对象基本上包括:tag、children或cn、html、style、cls、htmlFor,这几个属性较为特殊,其它的属性都作为tag标记的普通元素如width等,经过测试发现并不是任何情况都能够插入成功,一般符合实际情况的元素关系才会成功。另外这个类还有三个方法:应用一个样式到指定的元素上;建立一个配置对象的html片断;建立一个html片断模板,它的接口如下:

append(String/HTMLElement/Element el, Object/String o, [Boolean returnElement]) : HTMLElement/Ext.Element

建立一个新DOM元素,并添加到一个指定的DOM元素

applyStyles(String/HTMLElement el, String/Object/Function styles) : void

应用一个样式到指定的元素上

createTemplate(Object o) : Ext.DomHelper.Template

从一个配置的DOM对象建立一个html片断模板

insertAfter(String/HTMLElement/Element el, Object o, [Boolean returnElement]) : HTMLElement/Ext.Element

插入到指定的元素之后

insertBefore(String/HTMLElement/Element el, Object/String o, [Boolean returnElement]) : HTMLElement/Ext.Element

插入到指定的元素之前

insertFirst(String/HTMLElement/Element el, Object/String o, [Boolean returnElement]) : HTMLElement/Ext.Element

插入到指定元素的开始标签之后

insertHtml(String where, HTMLElement el, String html) : HTMLElement

插入一个html片断到指定DOM元素的指定的方位

markup(Object o) : String

返回一个DOM配置对象的html片断

overwrite(String/HTMLElement/Element el, Object/String o, [Boolean returnElement]) : HTMLElement/Ext.Element

用指定的DOM对象去替换,另一个指定的DOM对象的内容

2. Ext.Template

这个类也是一个DOM操作的辅助类,主要用在动态建立具有相似的DOM结构中,它的主要作用就是做一个模板,动态数据先用占位符先表示,然后用实际值去替换模板中的占位符,形成一个html片断,它的主操作接口与DomHelper类有几分相似:

Template.from(String/HTMLElement el) : s

<static>从一个html片断或DOM元素建立一个模板

append(String/HTMLElement/Ext.Element el, Object values, [Boolean returnElement]) : HTMLElement/Ext.Element

将替换值的html片断,添加到指定的元素中

apply() : void

applyTemplate的别名

applyTemplate(Object values) : String

返回用值替换模板后的html片断

compile() : Ext.Template

编译模板,消除正则表达式的额外开销.

insertAfter(String/HTMLElement/Ext.Element el, Object values, [Boolean returnElement]) : HTMLElement/Ext.Element

替换后的html片断添加到指定元素的结束标记后

insertBefore(String/HTMLElement/Ext.Element el, Object values, [Boolean returnElement]) : HTMLElement/Ext.Element

替换后的html片断添加到指定元素的开始标记前

insertFirst(String/HTMLElement/Ext.Element el, Object values, [Boolean returnElement]) : HTMLElement/Ext.Element

替换后的html片断添加到指定元素的开始标记后

overwrite(String/HTMLElement/Ext.Element el, Object values, [Boolean returnElement]) : HTMLElement/Ext.Element

用替换后的html片断覆盖

set(String html, [Boolean compile]) : Ext.Template

与from方法差不多,与构造也差不多.

3. Ext.UpdateManager

这个类主要对一个元素提供一个Ajax风格的内容更新,使用这个一般有三种方式:

A.从Ext.Element类对象来获取

var el = Ext.get("foo");

var mgr = el.getUpdateManager();

mgr.update("http://myserver.com/index.php", "param1=1&amp;param2=2");

...

mgr.formUpdate("myFormId", "http://myserver.com/index.php");

B.或者直接实例化(实际还是返回的是Ext.Element类对象的实例)

var mgr = new Ext.UpdateManager("myElementId");

mgr.startAutoRefresh(60, "http://myserver.com/index.php");

mgr.on("update", myFcnNeedsToKnow);

C.或者直接从一个Ext.Element类对象的内部进行调用

Ext.get("foo").load({

url: "bar.php",

scripts:true,

params: "for=bar",

text: "Loading Foo..."

});

Ext.UpdateManager类的实例有已经下的配置属性:

defaultUrl : String

默认的请求地址,或最后一次的请求地址,通常刷新时会使用

disableCaching : Boolean

禁用缓存,如果为true则会每次请求中多加一个当前时间参数,这会使每次的求都不相同,因此就不会缓存数据

el : Ext.Element

与更新管理器关联的元素对象

formUpdateDelegate : Function

formUpdate()方法的代理方法,代理方法一般都是用来创建回调方法的,对于回调方法如果有参数,且参数不确定,则可以通过代理方法来创建这样的方法myUpdater.formUpdateDelegate.createCallback(arg1, arg2) to bind arg...

indicatorText : String

加载时的提示文字,默认<div class="loading-indicator”>loading…</div>

loadScripts : Boolean

在输出中是否处理脚本,即加载数据时是否执行js脚本

refreshDelegate : Function

刷新的代理myUpdater.refreshDelegate.createCallback(arg1, arg2)

renderer : Object

渲染器,默认为Ext.UpdateManager.BasicRenderer.

showLoadIndicator : String

是否显示加载时的提示文字.

sslBlankUrl : String

以SSL方式上传文件的地址(默认为Ext.UpdateManager.defaults.sslBlankUrl 或者"about:blank").

timeout : Number

超时时间(默认Ext.UpdateManager.defaults.timeout or 30 seconds).

transaction : Object

当前执行事务的事务对象

updateDelegate : Function

更新代理myUpdater.updateDelegate.createCallback(arg1, arg2) to bind arguments

此类的公共方法接口:

UpdateManager(String/HTMLElement/Ext.Element el, [Boolean forceNew])

直接建立一个更新管理器

UpdateManager.updateElement(String/HTMLElement/Ext.Element el, String url, [String/Object params], [Object options]) : void

此方法已经不推荐使用,使用el.load()替换

abort() : void

终止正在执行的事务

formUpdate(String/HTMLElement form, [String url], [Boolean reset], [Function callback]) : void

执行异步表单提交

getEl() : Ext.Element

获取此更新管理器绑定的元素

isUpdating() : Boolean

如果一个更新正在被处理

refresh([Function callback]) : void

刷新数据

setDefaultUrl(String/Function defaultUrl) : void

默认的请求地址

setRenderer(Object renderer) : void

设置内容的渲染器,默认为Ext.UpdateManager.BasicRenderer.render

showLoading() : void

显示loading,如果覆写此方法,可以定制自己的loading

startAutoRefresh(Number interval, [String/Function url], [String/Object params], [Function callback], [Boolean refreshNow]) : void

设置此元素自动刷新

stopAutoRefresh() : void

停止此元素上的自动刷新

update(Object/String/Function url, [String/Object params], [Function callback], [Boolean discardUrl]) : void

执行一个异步请求来更新此更新管理器绑定的元素

4. Ext

它是Ext的核心工具类,主要实现有:属性的复制、属性的条件复制、为指定的元素绑定监听器、继承、覆盖、迭代、获取元素、判定对象的类型等;另外通过它的属性复制为Function、String、Array等类添加了一些实用方法

5. Ext.Element

它是一个很大的类,方法也很多,此类是DOM元素的代表,它本身也是对DOM元素的一个包装,它的主要操作包括以下几个方面:DOM相关的查询操作;DOM元素的尺寸与定位操作;元素内容的更新操作;简单监听器的添加;为元素添加遮盖等

6. Ext.EventManager

主要用于注册事件处理器,让它们接收一般事件对象代替标准事件对象,并提供几个有用的事件:此类主要有注册、注销监听,注册文档加载完成的监听,注册窗体大小改变的监听,文本大小改变的监听

7. Ext.Fx

这个类主要是为元素对象添加动画支持

你可能感兴趣的:(ext)