`

Ext.Element

阅读更多

 

2ExtJSHeart—Ext.Element

Ext.ElementExt.ObservableExtJS的核心:Ext.Element是构建ExtJS组件的基础,而Ext.ObservableExtJS事件管理的基础。

2.1、如何理解Ext.Element

不管ExtJS的功能多么强,做出的页面多么美观、专业,ExtJS的所有组件最终都是通过HTMLCSS来实现的,因此,HTML DOMElement类在ExtJS中同样起着非常重要的作用。但是,由于HTML DOMElement类的功能相对比较简单,ExtJSHTML DOMElement类进行了包装和扩展,形成了ExtJS自己的Ext.Element类。

Ext.Element是基于ExtJS的页面的重要的、最基本的组成部分。可以说,Ext.ElementExtJSheart:所有漂亮的组件,像Ext.ButtonExt.Window等,虽然这些组件的祖先类是Ext.Component,但是,归根到底,这些组件,同时也包括Ext.Component,它们都是由具有一定层次结构的Ext.Element对象构建而成的,也就是说,一个Component是由一组具有一定层次结构的Ext.Element对象构成的。证据:在Ext.Component类中有一个e1属性,在ExtJSAPI文档中是这样说的:

el : Ext.Element

The Ext.Element which encapsulates this Component. Read-only.

这就是说,这个el属性就指向用于构建这个Component组件的根Element!(当然,为了构建出像Ext.Button这样美观的组件,这个el一定有许多child Elements)。

由于Ext.Element是对HTMLDOMElement的包装和扩展,因此,从Ext.Element中可以得到HTMLDOMElement:通过dom属性即可。

通常情况下,通过语句:

Ext.get(“id”);

即可获得某个DOM元素的Ext.Element对象,之后,可以在所获得的对象上进行多种操作,包括:appendxxxinsertxxxxcreatexxxload等,可以在Ext.Element对象上监听并处理发生在该对象上的浏览器事件,还有,可以在某个Ext.Element对象执行Ext.Fx中定义的所有动画效果操作。

2.2Ext.TemplateExt.XTemplate模板应用

换一个话题,介绍一下Ext.TemplateExt.XTemplate的应用。

2.2.1Ext.Template

Ext.Template,顾名思义,模板,它是一个很有用的类。下面是一个典型的Ext.Template应用例子:

var myTpl = new Ext.Template("<div>Hello {0}.</div>");   //定义了一个模板
myTpl.append(document.body, ['Marjan']);            //可以多次应用模板
myTpl.append(document.body, ['Michael']);
myTpl.append(document.body, ['Sebastian']);
 

执行这段代码,将产生如下的DOM


 

 

这段代码:首先创建一个模板,在这个模板中有一个占位参数 {0},由于是使用数字占位参数,所以在应用该模板时,将从实际数组参数中获得数组的第一个元素来替换{0}的值。这也是为什么在应用模板时,我们使用数组最为实际参数。

我们也可以使用对象来传递值,这时,需要在模板中使用 {对象属性名} 的形式来占位,例如:

 

var myTpl = new Ext.Template(
'<div style="background-color: {color}; margin: 10;">',
'<b> Name :</b> {name}<br />',
'<b> Age :</b> {age}<br />',
'<b> DOB :</b> {dob}<br />',
'</div>'
);
myTpl.compile();
 
myTpl.append(document.body,{
color : "#E9E9FF",
name : 'John Smith',
age : 20,
dob : '10/20/89'
});
myTpl.append(document.body,{
color : "#FFE9E9",
name : 'Naomi White',
age : 25,
dob : '03/17/84'
});
 

执行这段代码,结果如下图所示:



 


2.2.2Ext.XTemplate

Ext.Template只能作用于单个对象,当要同时作用于对象数组中的每个对象时,这就是Ext.XTemplate的用武之地:因为Ext.XTemplate提供loop功能。看一个例子就知道如何使用Ext.XTemplate了:

var tplData = [
{
color : "#FFE9E9",
name : 'Naomi White',
age : 25,
dob : '03/17/84',
cars : ['Jetta', 'Pilot', 'S2000']
},
{
color : "#E9E9FF",
name : 'John Smith',
age : 20,
dob : '10/20/89',
cars : ['Civic', 'Accord', 'Pilot']
}
];
var myTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div style="background-color: {color}; margin: 10;">',
'<b> Name :</b> {name}<br />',
'<b> Age :</b> {age}<br />',
'<b> DOB :</b> {dob}<br />',
'</div>',
'</tpl>'
);
myTpl.compile();
myTpl.append(document.body, tplData);
 

 

注意代码:

'<tpl for=".">',

中的“.”这个东西,它表示:对所传递的参数数组的每个对象,按照tpl中定义的HTML来组织显示。运行结果实例如下:


 

 

 


  • 大小: 21.4 KB
  • 大小: 19.2 KB
  • 大小: 31.4 KB
分享到:
评论

相关推荐

    extjs 学习笔记(二) Ext.Element类

    上个系列中,我们用到了Ext.fly来获得一个Element对象,其实Ext.fly是Ext.Element.fly的简写形式。类似的方法还有一个Ext.get,是Ext.Element.get的简写。这两个方法都可以用使用Dom元素或者Dom元素的id作为参数来...

    EXT核心API详解

    7、Ext.Element类 ………………………… 7 8、Ext.DomQuery类 ………………… 13 9、Ext.DomHelper类 …………………… 14 10、Ext.Template类 …………………… 14 11、Ext.EventManager类 ……………… 15 12、Ext...

    EXTJS总结.txt

    // 返回下一个侧边节点,但一定要是div的,找到就返回,类型是Ext.Element Ext.fly('elId').next("div"); 27.prev 获取上一个侧边节点,跳过文本节点。可选地可送入一个期待的选择符。 // 返回上一个侧边节点,...

    extJs 2.1学习笔记

    extJs 2.1学习笔记 此资料收集于网上.. 1. ExtJs 结构树 2 2. 对ExtJs的态度 3 ...26. extJs 2.0学习笔记(Element.js篇) 73 27. extJs 2.0学习笔记(DomHelper.js篇) 76 28. extJs 2.0学习笔记(ext.js篇) 77

    ExtJs学习笔记,共30讲

    ExtJs学习笔记,共30讲 1. ExtJs 结构树 2 2. 对ExtJs的态度 3 3. Ext.form概述 4 ...26. extJs 2.0学习笔记(Element.js篇) 73 27. extJs 2.0学习笔记(DomHelper.js篇) 76 28. extJs 2.0学习笔记(ext.js篇) 77

    ExtJS入门教程(超级详细)

    7、Ext.Element类 ………………………… 7 8、Ext.DomQuery类 ………………… 13 9、Ext.DomHelper类 …………………… 14 10、Ext.Template类 …………………… 14 11、Ext.EventManager类 ……………… 15 12、Ext...

    Ext+JS高级程序设计.rar

    1.1 Ext.Element 2 1.1.1 获取HTMLElement节点的Ext.Element实例 2 1.1.2 CSS样式操作 3 1.1.3 DOM查询与遍历 4 1.1.4 DOM操作 6 1.1.5 事件处理 9 1.1.6 尺寸大小 13 1.1.7 定位功能 14 1.1.8 动画功能 16 1.1.9 ...

    Ext.ux.callout.Callout:CSS样式的浮动标注容器,带有可选箭头,可与Ext JS 4.0+一起使用

    相对于目标Ext.Element或Ext.Component定位自身,以及当目标移动或浏览器调整大小时,它将保持相对位置 响应鼠标超出标注范围时自动隐藏自身 可配置的延迟后自动关闭 显示时淡入,隐藏时淡出 因为一个Ext.ux....

    Ext2.2开发指南--完整翻写Ext官方网站学习指南介绍

    3. 如果看到全中文的响应页面,说明工程运行正常,参见ExtStart.js文档,有非常详细的注释说明Ext.Element类与Ext.select()选择器的使用,以及事件处理的几种使用情况,最后是Ext框架使用Ajax技术的演示部分,需要...

    Ext Js权威指南(.zip.001

    6.2 获取单一元素:ext.dom.element / 252 6.2.1 从错误开始 / 252 6.2.2 使用ext.get获取元素 / 253 6.2.3 使用ext.fly获取元素 / 256 6.2.4 使用ext.getdom获取元素 / 257 6.2.5 获取元素的总结 / 258 6.3 ...

    JavaScript凌厉开发:ExtJS3详解与实践

    资源名称:JavaScript凌厉开发:Ext JS 3详解与实践内容简介:本书详细...本书包含的内容有Ext.Element.*、事件Observable、Ext组件 MVC原理、Grid/Form/ 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    ext 中文 api

    API 参考 API 参考里面详细描述了所有能在 Ext 类库里面找到的类和组件。最常用的类有: Ext.Element Ext.BorderLayout Ext.DomHelper Ext.TabPanel Ext.UpdateManager

    Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式

    前面写的get()和query()我都省略参数了,先看看文档中的函数原型: Ext.get( Mixed el ) : Element Parameters: el : Mixed The id of the node, a DOM Node or an existing Element. Returns: Element The Element ...

    ExtJSWeb应用程序开发指南(第2版)

    6.1 非常有用的Ext.core.Element 6.2 Ext常用函数 6.2.1 Ext.onReady() 6.2.2 Ext.get() 6.2.3 Ext.select() 6.2.4 Ext.query() 6.2.5 Ext.getCmp() 6.2.6 Ext.getDom() 6.2.7 Ext.isEmpty() ...

    轻松搞定Extjs_原创

    六、Ext.Element类中的动画函数 34 七、小结 35 第六章:元素操作与模板 36 一、重要也不重要的东西 36 二、Ext.DomHelper类 36 三、Ext.XTemplate 38 四、小结 39 第七章:格式化 40 一、用户需要优秀体验的内容 40...

    xom-1.1.jar

    nu/xom/Element.class 18.97 KB nu/xom/Elements.class 829.0 bytes nu/xom/GenericWriter.class 1.8 KB nu/xom/ISOArabicWriter.class 1.25 KB nu/xom/ISOCyrillicWriter.class 1.5 KB nu/xom/...

    Ext3.2中文API(最终完成版2010-11-01编译)

    Ext3.2中文API(最终完成版2010-11-01编译) 修正了Ext.Element类的几个格式Bug

Global site tag (gtag.js) - Google Analytics