Ext.js入门:模板(三)

1.Ext.DomHelper简介
2.Template语法使用简介
3.Template简单应用
4.Template中使用转换函数
5.使用模板的自定义接口
6.XTemplate应用
7.复杂模板

1.Ext.DomHelper
     处理DOM或模板(Templates)的实用类。

能以JavaScript较清晰地编写HTML片段(HTML fragments)或DOM。

如以下范例产生五个子元素的无须列表,追加到当前元素‘my-div’:

常用的方法:

Template语法使用简介
   在一些复杂的情况下,我们需要生成HTML片断,这时最常用,最简单,最有效率的一种做法就是应用Ext提供的模板来完成。
说明:Templete 是模板之意,就是定义一段 HTML 代码,并放置若干个{}作为占位符,运行时将数据填充到{}中去。

看来看去,和java中的MessageFormat及C#中的string.formate很像。XTemplate和DomHelper有很深的渊源,

DomHelper是XTemplate的小弟,DomHelper解决不了的事情,XTemplate一定可以。

使用XTemplate一般会经历三个步骤:

1、定义XTemplate对象,指定一段HTML代码作为模板;

2、指定XTemplate中定义的HTML应该放置的位置,并填充占位符信息;

3、编译XTemplate。

Template简单应用:

Ext.onReady(function(){ var xt = new Ext.Template(    "<table border={0} width={1}>",     "<tr>",      "<td>{2}</td>",      "<td>{3}</td>",      "<td>{4}</td>",     "</tr>",    "</table>" );    xt.append("xt", [1, 300, ‘单元格1‘, ‘单元格2‘, ‘单元格3‘]); xt.compile(); })

实例化Template时,可以配置任意个参数,会自动连接到一起,这种写法似乎更方便更好读。

append方法同 DomHelper 的 append方法,实际上还有 insertBefore、insertAfter、insertFirst、overwrite 等方法,

不同的是第二个参数,该参数是要填充到占位符中的数据,可以是数组,也可以是json对象。执行完之后得到如下结果:

<div id="xt"> <table border="1" width="300">    <tbody>     <tr>      <td>单元格1</td>      <td>单元格2</td>      <td>单元格3</td>     </tr>    </tbody> </table> </div>

下面是改造后的例子,填充数据时用json对象代替了原来的数组:

Ext.onReady(function(){ var xt = new Ext.Template(    "<table border={b} width={w}>",     "<tr>",      "<td>{v1}</td>",      "<td>{v2}</td>",      "<td>{v3}</td>",     "</tr>",    "</table>" );    xt.append("xt", {b: 1, w: 300, v1: "单元格1", v2: "单元格2", v3: "单元格3"}); xt.compile(); })
时间: 2025-01-12 14:58:25

Ext.js入门:模板(三)的相关文章

Ext JS学习第三天 我们所熟悉的javascript(二)

•javascript之函数 •对于Ext开发者,我还是希望你能对javascript原生的东西非常了解.甚至熟练掌握运用.那么函数,无疑是非常重要的概念.首先在前面一讲,我们知道了函数也是一种数据类型,创建函数一共有三种方式.每种方式他们都会有区别,分别为: –function语句形式 –函数直接量形式 –构造函数形式 •函数中的arguments对象 –argument的作用一:接受函数的实际参数 –argument的作用二:用于做递归操作 栗子代码 1 //Function 函数 2 //

Ext.js入门:Window对象与FormPanel(六)

一:Ext.Window类 二:Ext.Window类实例 三:Ext.FormPanel类 四:Ext.FormPanel类实例 1.类Ext.Window 包: Ext 定义的文件 Window.js 类全称: Ext.Window 继承自于: Ext.Panel 说明: 一种专用于程序中的“视窗”(window)的特殊面板.Window默认下是可拖动的draggable.浮动的窗体.窗体可以最大化到整个视图.恢复原来的大小,还可以最小化minimize.      Windows既可关联到

io.js入门(三)—— 所支持的ES6(下)

(接上篇) 标准ES6特性 6. 新的String方法/New String methods 7. 符号/Symbols 8. 字符串模板/Template strings 新的String方法/New String methods codePointAt() 和  String.fromCodePoint()JS内部是以UTF-16的形式(每个字符长度都固定为16位元.2个字节)来存储字符编码的.就汉字来说,大部分的汉字均以2字节的形式来存储即可,却也有部分汉字需要有4个字节的长度来存储(其c

Ext.js入门:常用组件与综合案例(七)

一:datefield简单示例 二:timefield简单示例 三:numberfield简单示例 四:FormPanel提交 datefield简单示例: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <link href="Ext/resources/css/ext-all.css&

Ext.js入门:面板(四)

一:Ext.Panel类简介 1.Ext.Panel类简介 类 Ext.Panel 包: Ext 定义的文件: Panel.js 类全称: Ext.Panel 继承自于: Ext.Container 说明:面板是一种面向用户界面构建应用程序最佳的单元块,一种特定功能和结构化组件. 面板包含有底部和顶部的工具条,连同单独的头部.底部和body部分.它提供内建都得可展开和可闭合的行为, 连同多个内建的可制定的行为的工具按钮.面板可简易地置入任意的容器或布局,而面板和渲染管线(rendering pi

JS入门(三)

数据的类型转换: 之前提到过,js中数据类型分两种, 基本数据类型string  number   boolean  undefined  null 复杂数据类型 对象   Date   Array  function 而在实际编程中,经常会与到数据类型转换的问题,比如把字符串类型的数据转化成数字类型的,又或者是把数字类型的转化成布尔类型的,那js中到底怎么实现数据类型的转换呢? 转成number: 隐式转换  +    -   *    /   %  :值得注意的是,+在这里是用做正负的作用,

require.js入门指南(三)

下面我们来说说main.js. 前面没有用到,因为例子比较简单.当我们的js文件夹中包含多个文件时,每次require都要写 (路径名/文件名) 这样的require()参数,很麻烦.而且,直接把js代码写在页面中,也是不好的. 我们就可以用main.js设置参数,简化操作,并把页面需要的js代码写在其中. 现在我们在js文件夹下新建一个文件夹,命名为lib,并把jquery.js移动至这个目录下.这个文件夹就用来存放所有的库文件,也方便维护和管理. 目录结构变成了下面这样子: 如果我们不使用m

Ext JS 6学习文档–第1章–ExtJS入门指南

Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS 6 的电子书 [Ext JS 6 By Example].这份资料在 PACKT 上卖 35.99 刀的,当然了万能的 google 还是帮我下载到了 PDF 文档.大概看了一下,讲的很详细,例子也比较简单,容易理解,现我准备利用工作之余翻译这份文档,为自己学习加深理解,也希望能帮助更多的人学习.

Ember.js入门教程、博文汇总

第一章 对象模型 Ember.js 入门指南——类的定义.初始化.继承 Ember.js 入门指南——类的扩展(reopen) Ember.js 入门指南——计算属性(compute properties) Ember.js 入门指南——观察者(observer) Ember.js 入门指南——绑定(bingding) Ember.js 入门指南——枚举(enumerables) Ember.js 入门指南之七第一章对象模型小结 第二章 模板 Ember.js 入门指南——handlebars基