书籍详情
Ext江湖
作者:大漠穷秋 著
出版社:电子工业出版社
出版时间:2012-01-01
ISBN:9787121148620
定价:¥108.00
购买这本书可以去
内容简介
《Ext江湖》以幽默诙谐的语言由浅入深地解析了Ext框架的方方面面,包括JS基础、Ext的DOM和CSS封装、内置对象的扩展、事件系统、Ajax和Direct、数据和缓存架构、面向对象和继承、UI组件、布局管理、模板、特效、图表和报表、Ext4新特性介绍等内容。文中穿插大量的实例和基础理论解析,寓教于乐,严谨而不失活泼。 对于Ext的使用者来说,《Ext江湖》针对实战中面临的种种问题,给出了详尽的解决方案和思路;对于想研究源码的读者来说,《Ext江湖》绝对是难得的良师益友。全书思路清晰、内容一气呵成,适合Ext用户参考学习,还适合其他JS框架的开发者阅读和参考。
作者简介
大漠穷秋,本名章小飞。毕业于河海大学电子信息工程系,专业以C语言和汇编为主,从学校解脱后Java为生,现以研究各种前端技术为乐。毕业后,在一个做电力自动化的小公司工作多年,足迹遍布辽宁省大大小小的供电局、变电站。从系统研发到拉网线、安装采集终端,再到安装服务器硬软件,干遍各种杂活。其后,人南京联创(现亚信联创),先混迹于江苏移动项目维护现场主攻前端,涉及Ext、Flash、Flex等前端技术,甚爱之,如获至宝,日夜练习,自得其乐。后调入设计部,负责亚联南方基地“云计费”项目的前端设计,界面效果甚佳。现供职于中兴软创南京研发中心,对前端技术的研究热情依旧不减。生性腼腆,好文墨,凡事爱刨根问底。见神奇之物,必拆之,以观其妙。为人幽默平和,喜交友,愿与大家一起探究Ext框架的各种神奇设计和实现技巧,同道者可前往个人站点共同探讨交流。
目录
第1章 Ext史前
1.1 一个页面做两周
1.1.1 变量、对象、数组
1.1.1.1 变量
1.1.1.2 对象和数组
1.1.2 其他重要内置对象
1.1.2.1 Nubmer对象
1.1.2.2 String对象
1.2.2.3 RegExp对象
1.1.3 等值判定
1.1.4 ||运算符
1.1.5 !运算符
1.1.6 类型转换技巧
1.1.7 特殊运算符
1.1.7.1 instanceof 语句
1.1.7.2 typeof 语句
1.1.7.3 delete 运算符
1.1.7.4 []运算符
1.1.7.5 ( )运算符
1.1.7.6 eval 语句
1.1.7.7 三目运算符
1.1.1.8 for…in语句
1.1.7.9 with语句
1.2 缘起Ext
1.2.1 开发工具Spket
1.2.2 调试工具Firebug
1.2.3 编译工具JSBuilder
1.2.4 设计工具
第2章 DOM操作
2.1 基础概念
2.1.1 DOM是什么
2.1.2 为什么要DOM
2.1.3 DOM怎么用
2.1.3.1 访问HTML节点(Retrieve)
2.1.3.2 创建、删除(Create、Delete)
2.1.3.3 修改标签属性和内容(Update)
2.1.4 总结
2.2 新石器时代的CRUD
2.2.1 Ext.Element
2.2.1.1 Ext.get()
2.2.1.2 Ext.getDom()
2.2.1.3 Ext.fly()
3.2.1.4 操纵样式属性
2.2.2 Ext.DomHelper
2.2.2.1 概述
2.2.2.2 append
2.2.2.3 insertHtml
2.2.2.4 overwrite
2.2.2.5 createTemplate
2.2.3 Ext.DomQuery
2.2.3.1 概述
2.2.3.2 元素选择器
2.2.3.3 属性选择器
2.2.3.4 伪类选择器
2.2.3.5 CSS值选择器
2.3 源码解析:Ext的DOM封装
2.3.1 Ext.Element
2.3.1.1 DOM结构工具
2.3.1.2 外观工具
2.3.2 Ext.DomHelper
2.3.2.1 设计思路概述
2.3.2.2 源码详解
2.3.2.3 DomHelper与Ext.Element协作
2.3.3 Ext.DomQuery
2.3.3.1 设计思路概述
2.3.3.2 源码详解
2.3.3.3 与Ext.Element的配合
本章总结
第3章 程序员的CSS
3.1 必知的CSS基础概念
3.1.1 历史渊源
3.1.2 核心概念一:盒子模型
3.1.2.1 盒子模型
3.1.2.2 padding规则
3.1.2.3 border规则
3.1.2.4 margin规则
3.1.3 核心概念二:选择器
3.1.4 浏览器兼容
3.2 Ext对CSS的封装
3.2.1 静态切换主题
3.2.2 动态切换主题
3.2.3 结构化CSS
3.2.4 Ext UI组件的本质
第4章 精通Function
4.1 JS函数特性梳理
4.1.1 参数可变长
4.1.2 函数不能重载
4.1.3 命名空间
4.1.4 函数嵌套
4.1.5 call/apply/自执行
4.1.6 函数也是数据
4.1.7 Function
4.1.8 函数实例的属性
4.1.9 构造函数
4.1.10 模拟静态属性
4.1.11 综合应用:定时器
4.2 函数原型
4.2.1 prototype概述
4.2.2 向prototype添加自定义属性
4.2.3 原型查找机制
4.2.4 遮盖
4.2.5 原型赋值机制
4.2.6 模拟静态属性
4.2.7 犀利的prototype
4.2.7.1 扩展Array
4.2.7.2 扩展Number
4.2.7.3 扩展String
4.2.7.4 扩展Date
4.2.7.5 扩展Error
4.2.7.6 扩展Function
4.3 作用域链[[scope]]
4.3.1 作用域链[[scope]]
4.3.2 标识符解析
4.3.3 修改作用域链和this
4.4 闭包
4.4.1 从最简单的开始
4.4.2 闭包构造三步走
4.4.3 闭包用法:经典案例
4.4.3.1 获取Table中被点击的行
4.4.3.2 模拟多线程
4.4.3.3 模拟私有属性
第5章 Ext事件系统
5.1 DOM事件演化史
5.1.1 没有事件的寂寞年代
5.1.2 简单事件模型
5.1.3 2级事件模型
5.1.3.1 多个监听函数
5.1.3.2 浏览器兼容
5.1.3.3 事件传播
5.1.3.4 监听函数中的this
5.1.3.5 事件对象
5.1.4 高级语义事件
5.1.4.1 设计自己的事件机制
5.1.4.2 为原生的事件接口提供快捷方式
5.1.4.3 双剑合璧
5.2 熟练使用Ext的事件机制
5.2.1 基础用法
5.2.1.1 为底层元素注册监听器
5.2.1.2 为Ext的UI组件注册事件
5.2.2 批量注册监听器
5.2.3 指定this
5.2.4 单次运行的监听器
5.2.5 挂起和恢复
5.2.6 事件转发
5.2.7 删除监听函数
5.2.8 事件综合示例
5.2.9 高级用法一:自定义事件
5.2.10 高级用法二:为自定义的类提供事件支持
5.3 Ext事件系统全景解析
5.3.1 封装底层事件
5.3.1.1 Ext.EventManager
5.3.1.2 Ext.EventObject
5.3.2 高级事件机制Observable
5.3.2.1 非可视组件
5.3.2.2 可视组件
5.3.2.3 详解Ext.util.Observable
5.4 全景式解析API根对象Ext
5.4.1 整体结构概述
5.4.2 源码详解
5.4.2.1 Ext版本信息
5.4.2.2 浏览器/OS类型判断
5.4.2.3 垃圾收集配置
5.4.2.4 继承机制的实现
5.4.2.5 id机制
5.4.2.6 对象类型判定
5.4.2.7 数组操纵工具
5.4.2.8 对象引用获取工具
本章总结
第6章 Ext中的Ajax和Direct
6.1 Ajax的前世今生
6.2 Ajax和Ext.Ajax
6.2.1 Ajax那点事儿
6.2.1.1 创建XHR对象
6.2.1.2 发送请求,接收数据
6.2.1.3 Ajax基础实例
6.2.2 Ext.Ajax用法和常见陷阱
6.2.2.1 Ext.Ajax基础用法
6.2.2.2 缓存问题
6.2.2.3 传输XML
6.2.2.4 异步问题
6.2.2.5 跨域问题
6.2.2.6 Ajax上传文件
6.2.3 Ext.Ajax源码解析
6.2.3.1 屏蔽浏览器差异
6.2.3.2 优雅地回调
6.3 按需加载JS,梦想照进现实
6.3.1 基础动态载入技巧
6.3.2 使用Ext.Ajax动态加载JS
6.3.3 使用jsloader动态加载
6.4 Direct
第7章 Ext的数据和缓存架构
7.1 JS原生数据结构
7.1.1 数组技法大演练
7.1.1.1 join
7.1.1.2 slice
7.1.1.3 splice
7.1.1.4 sort
7.1.1.5 Ext扩展:indexOf、remove
7.1.2 JS对象{}
7.1.2.1 天然Hash特性
7.1.2.2 伪数组
7.1.2.3 天然JSON结构
7.2 JSON
7.2.1 使用Ext.util.JSON
7.2.1.1 encodeldecode
7.2.1.2 对象深拷贝
7.2.2 源码分析
7.2.2.1 JSON.decode
7.2.2.2 JSON.encode
7.2.3 服务端JSON工具介绍
7.2.3.1 json-lib
7.2.3.2 DAO直接生成JSON串
7.2.3.3 Gson
7.3 XML
7.3.1 用JS解析XML
7.3.1.1 直接使用XmlDocument加载XML文件
7.3.1.2 使用Ajax加载XML数据
7.3.1.3 自制XML解析器源码分析
7.3.2 Ext使用XML数据
7.3.2.1 使用Ext.data.XmlStore
7.3.2.2 Ext.data.XmlStore的解析方式
7.3.3 JSON VS XML
7.4 MixedCollection
7.4.1 概述
7.4.2 玩转MixedCollection
7.4.2.1 当做数组使用
7.4.2.2 当做HashMap使用
7.4.2.3 迭代
7.4.2.4 查找和过滤
7.4.2.5 排序
7.4.2.6 MixedCollection的事件
7.4.3 MixedCollection源码分析
7.4.3.1 模拟HashMap
7.4.3.2 迭代工具
7.4.3.3 查找和过滤
7.4.3.4 排序和中文支持
7.4.3.5 事件支持
7.4.4 综合考察MixedCollection
7.4.4.1 代码实现层面
7.4.4.2 设计层面
7.5 Store
7.5.1 Store系组件概述
7.5.1.1 继承关系图
7.5.1.2 协作关系图
7.5.1.3 时序图
7.5.1.4 Store的本质
7.5.2 数据记录Record
7.5.2.1 手动创建Record
7.5.2.2 create方法源码解析
7.5.2.3 拷贝记录
7.5.2.4 获取记录中的字段
7.5.3 Store对Record的管理
7.5.3.1 过滤记录——where
7.5.3.2 where机制的实现
7.5.3.3 记录排序——order by
7.5.3.4 order by机制的实现
7.5.3.5 从设计角度“品味”排序特性
7.5.3.6 记录分组——group by
7.5.3.7 group by机制的实现
7.5.3.8 提交和回滚——commit/rollback
7.5.3.9 commit/rollback机制的实现
7.5.3.10 从设计层面“品味”Store的核心特性
7.5.4 DataProxy
7.5.4.1 DataProxy系组件概述
7.5.4.2 用法实例
7.5.4.3 源码解析
7.5.5 DataReader
7.5.5.1 DataReader系组件概述
7.5.5.2 用法实例
7.5.5.3 源码解析
7.5.6 DataWriter
7.5.7 Store系组件总结
7.6 Tree
7.6.1 Tree的基本性质
7.6.1.1 基本属性
7.6.1.2 树和JSON
7.6.1.3 递归遍历
7.6.2 Ext.TreeNode
7.6.2.1 概述
7.6.2.2 父类Node解析
7.6.2.3 TreeNode解析
7.7 Cookie
7.7.1 Cookie概述
7.7.2 使用Ext的Cookie
7.7.3 Ext的Cookies机制
7.7.3.1 顶级类Component
7.7.3.2 CookieProvider源码解析
第8章 面向对象和继承
8.1 JS模拟继承的方式
8.1.1 原型继承
8.1.1.1 子类prototype赋值为父类实例
8.1.1.2 删除不需要的属性
8.1.1.3 重置constructor
8.1.2 对象冒充
8.1.2.1 对象冒充基础原理
8.1.2.2 静态属性
8.1.3 综合运用
8.2 易筋经:Ext.extend()
8.2.1 使用Ext.extend
8.2.1.1 招式一:子类不提供构造函数
8.2.1.2 招式二:子类提供显式构造函数
8.2.1.3 招式三:子类提供隐式构造函数
8.2.2 深度解析Ext.extend的源码
8.2.2.1 关键点1:私有属性
8.2.2.2 关键点2:参数移位
8.2.2.3 关键点3:空壳函数
8.2.2.4 关键点4:prototype拷贝
8.2.2.5 关于静态属性
8.2.3 Ext.extend本质:继承和接口相统一
8.2.3.1 机制总结
8.2.3.2 Ext中的实例
8.2.3.3 Ext.extend再认识
第9章 精通Ext的UI组件
9.1 简单组件
9.1.1 MessageBox
9.1.1.1 熟练使用MessageBox
9.1.1.2 源码解析
9.1.2 ProgressBar
9.1.2.1 熟练使用进展条
9.1.2.2 源码解析
9.1.3 Menu
9.1.4 ToolBar
9.1.4.1 熟练使用ToolBar
9.1.4.2 ToolBar源码解析
9.1.5 LoadMask
9.1.5.1 使用LoadMask
9.1.5.2 LoadMask源码分析
9.1.6 Tip
9.2 Panel系
9.2.1 Panel
9.2.1.1 加载外部页面
9.2.1.2 陷阱和注意点
9.2.2 Window
9.2.2.1 Window的重复创建问题
9.2.2.2 使用WindowGroup管理Window
9.2.2.3 Window的其他配置项
9.2.3 TabPanel
9.3 Form系
9.3.1 表单的加载和提交
9.3.2 更改FieldLabel
9.3.3 多列布局
9.3.4 VTypes表单校验
9.3.5 ComboBox
9.3.5.1 使用本地数据
9.3.5.2 使用远程数据
9.3.5.3 Combo分页
9.3.5.4 二级联动
9.3.6 CheckBox/Radio Group
9.3.7 FielSet
9.3.8 DatePicker
9.3.9 动态添加输入项
9.4 Grid系
9.4.1 GridPanel基本用法
9.4.2 SelectionModel&RowNumberer
9.4.3 客户端分页
9.4.4 服务端分页
9.4.5 renderer和RowAction
9.4.6 动态操纵Record
9.4.7 数据格式化
9.4.8 综合应用EditorGridPanel
9.4.9 GridPanel中的右键菜单
9.5 Tree系
9.5.1 装配“树形”JSON结构
9.5.2 动态加载数据
9.5.3 监听事件
9.5.4 编辑节点数据
9.5.5 节点拖曳
9.5.6 节点过滤
9.5.7 ColumnTree
9.6 DataView系
9.7 特殊组件
9.7.1 文件上传
9.7.2 网页编辑器
9.7.3 调色板
第10章 详解UI组件核心机制
10.1 UI生命周期概述
10.2 详解生命周期
10.2.1 事件机制
10.2.2 组件查找机制
10.2.2.1 使用Ext.getCmp
10.2.2.2 ComponentMgr源码解析
10.2.3 初始化机制
10.2.3.1 拷贝配置属性
10.2.3.2 生成id
10.2.3.3 初始化initComponent
10.2.4 插件机制
10.2.5 渲染机制
10.2.5.1 触发beforerender事件
10.2.5.2 开始渲染onRender
10.2.5.3 应用样式
10.2.5.4 完成渲染afterRender
10.2.5.5 持久化
10.2.5.6 布局
10.2.6 懒渲染机制
10.2.6.1 直接创建
10.2.6.2 使用xtype
10.2.7 销毁机制
10.2.8 总结
10.3 GridPanel核心机制
10.3.1 概述
10.3.2 详解GridView
10.3.2.1 GridPanel和GridView协作关系
10.3.2.2 标签模板初始化
10.3.2.3 GridView对Store的监听
10.3.3 数据模型
10.3.4 选中模式
10.4 FormPanel核心机制
10.4.1 概述
10.4.2 Field和VType
10.5 TreePanel核心机制
10.5.1 TreeLoader加载数据
10.5.2 树的事件机制
第11章 布局管理器
11.1 全面掌握Ext布局
11.1.1 AbsoluteLayout
11.1.2 AccordionLayout
11.1.3 AnchorLayout
11.1.4 AutoLayout
11.1.5 BorderLayout
11.1.6 CardLayout
11.1.7 ColumnLayout
11.1.8 FitLayout
11.1.9 FormLayout
11.1.10 HBoxLayout
11.1.11 MenuLayout
11.1.12 TableLayout
11.1.13 ToolbarLayout
11.1.14 VBoxLayout
11.2 综合应用ViewPort
11.3 布局核心源码详解
11.3.1 布局管理器概述
11.3.2 渲染完成后的布局操作
11.3.3 Container.doLayout
第12章 扩展UI组件
12.1 概述
12.2 常用扩展组件介绍
12.2.1 下拉树ComboTree
12.2.2 时间选择器
12.2.3 Desktop和Portal
12.2.3.1 Desktop实例分析
12.2.3.2 Portal实例分析
12.3 扩展组件的技巧
12.3.1 是否真的需要继承
12.3.2 扩展组件的经典步骤
12.3.3 其他注意点
第13章 模 板
13.1 概述
13.2 Ext模板用法
13.2.1 基本拳脚功夫:基础用法
13.2.1.1 Ext.Template的基础用法
13.2.1.2 Ext.XTempate的基础用法
13.2.2 青出于蓝:实现“值班日志”
13.2.3 组合拳:与其他组件配合使用
13.2.3.1 一个自定义的留言板
13.2.3.2 与DataView配合使用
13.3 模板源码解析
13.3.1 自己实现Template
13.3.1.1 概要设计
13.3.1.2 详细设计
13.3.1.3 编码实现
13.3.1.4 单元测试
13.3.1.5 说明文档
13.3.1.6 重构,增加“预编译”功能
13.3.2 自己实现XTemplate
13.3.2.1 实现if标签
13.3.2.2 实现for标签
13.3.3 Ext模板源码解析
13.3.3.1 Ext.Template
13.3.3.2 Ext.XTemplate
第14章 特 效
14.1 使用Ext动画
14.1.1 调整大小
14.1.2 淡入和淡出
14.1.3 其他特效
14.2 使用拖曳
14.2.1 拖曳的基本原理
14.2.2 基本Ext拖曳
14.2.3 目标区域
14.2.4 Grid和Form之间的拖曳
第15章 图 表
15.1 使用Ext的Chart
15.1.1 解决本地运行问题
15.1.2 用法实例
15.1.2.1 前台本地数据
15.1.2.2 动态加载远程数据
15.1.3 其他类型的Chart
15.2 Ext的Chart源码分析
15.2.1 swfobject与Flash
15.2.2 Ext.FlashComponenet
15.2.2.1 Chart系组件概述
15.2.2.2 如何把swf渲染到页面中
15.2.3 Flash技术前景展望
15.3 其他Chart技术概览
15.3.1 SVG
15.3.1.1 SVG技术简介
15.3.1.2 基本用法示例
15.3.1.3 SVG总结
15.3.2 VML
15.3.2.1 VML技术简介
15.3.2.2 实例代码
15.3.2.3 学习资源
第16章 报 表
16.1 客户端报表ActiveXObject
16.1.1 导出基本HTML页面数据
16.1.2 GridPanel导出到Excel
16.2 后台报表Excel、PDF
16.2.1 使用jxl生成Excel
16.2.2 使用Itext生成PDF/Word
第17章 Ext 4新特性
17.1 SVG图表和动画
17.2 新的类结构和加载机制
17.2.1 类结构优化
17.2.2 继承方式升级
17.2.3 Mixin机制
17.2.4 自动生成getter&setter
17.2.5 动态加载类
17.3 新的数据模型
17.3.1 Model和Store
17.3.2 代理Proxy
17.3.3 关联关系
17.3.4 加载嵌套数据
17.4 新的主题引擎
第18章 常见问题解答
1.1 一个页面做两周
1.1.1 变量、对象、数组
1.1.1.1 变量
1.1.1.2 对象和数组
1.1.2 其他重要内置对象
1.1.2.1 Nubmer对象
1.1.2.2 String对象
1.2.2.3 RegExp对象
1.1.3 等值判定
1.1.4 ||运算符
1.1.5 !运算符
1.1.6 类型转换技巧
1.1.7 特殊运算符
1.1.7.1 instanceof 语句
1.1.7.2 typeof 语句
1.1.7.3 delete 运算符
1.1.7.4 []运算符
1.1.7.5 ( )运算符
1.1.7.6 eval 语句
1.1.7.7 三目运算符
1.1.1.8 for…in语句
1.1.7.9 with语句
1.2 缘起Ext
1.2.1 开发工具Spket
1.2.2 调试工具Firebug
1.2.3 编译工具JSBuilder
1.2.4 设计工具
第2章 DOM操作
2.1 基础概念
2.1.1 DOM是什么
2.1.2 为什么要DOM
2.1.3 DOM怎么用
2.1.3.1 访问HTML节点(Retrieve)
2.1.3.2 创建、删除(Create、Delete)
2.1.3.3 修改标签属性和内容(Update)
2.1.4 总结
2.2 新石器时代的CRUD
2.2.1 Ext.Element
2.2.1.1 Ext.get()
2.2.1.2 Ext.getDom()
2.2.1.3 Ext.fly()
3.2.1.4 操纵样式属性
2.2.2 Ext.DomHelper
2.2.2.1 概述
2.2.2.2 append
2.2.2.3 insertHtml
2.2.2.4 overwrite
2.2.2.5 createTemplate
2.2.3 Ext.DomQuery
2.2.3.1 概述
2.2.3.2 元素选择器
2.2.3.3 属性选择器
2.2.3.4 伪类选择器
2.2.3.5 CSS值选择器
2.3 源码解析:Ext的DOM封装
2.3.1 Ext.Element
2.3.1.1 DOM结构工具
2.3.1.2 外观工具
2.3.2 Ext.DomHelper
2.3.2.1 设计思路概述
2.3.2.2 源码详解
2.3.2.3 DomHelper与Ext.Element协作
2.3.3 Ext.DomQuery
2.3.3.1 设计思路概述
2.3.3.2 源码详解
2.3.3.3 与Ext.Element的配合
本章总结
第3章 程序员的CSS
3.1 必知的CSS基础概念
3.1.1 历史渊源
3.1.2 核心概念一:盒子模型
3.1.2.1 盒子模型
3.1.2.2 padding规则
3.1.2.3 border规则
3.1.2.4 margin规则
3.1.3 核心概念二:选择器
3.1.4 浏览器兼容
3.2 Ext对CSS的封装
3.2.1 静态切换主题
3.2.2 动态切换主题
3.2.3 结构化CSS
3.2.4 Ext UI组件的本质
第4章 精通Function
4.1 JS函数特性梳理
4.1.1 参数可变长
4.1.2 函数不能重载
4.1.3 命名空间
4.1.4 函数嵌套
4.1.5 call/apply/自执行
4.1.6 函数也是数据
4.1.7 Function
4.1.8 函数实例的属性
4.1.9 构造函数
4.1.10 模拟静态属性
4.1.11 综合应用:定时器
4.2 函数原型
4.2.1 prototype概述
4.2.2 向prototype添加自定义属性
4.2.3 原型查找机制
4.2.4 遮盖
4.2.5 原型赋值机制
4.2.6 模拟静态属性
4.2.7 犀利的prototype
4.2.7.1 扩展Array
4.2.7.2 扩展Number
4.2.7.3 扩展String
4.2.7.4 扩展Date
4.2.7.5 扩展Error
4.2.7.6 扩展Function
4.3 作用域链[[scope]]
4.3.1 作用域链[[scope]]
4.3.2 标识符解析
4.3.3 修改作用域链和this
4.4 闭包
4.4.1 从最简单的开始
4.4.2 闭包构造三步走
4.4.3 闭包用法:经典案例
4.4.3.1 获取Table中被点击的行
4.4.3.2 模拟多线程
4.4.3.3 模拟私有属性
第5章 Ext事件系统
5.1 DOM事件演化史
5.1.1 没有事件的寂寞年代
5.1.2 简单事件模型
5.1.3 2级事件模型
5.1.3.1 多个监听函数
5.1.3.2 浏览器兼容
5.1.3.3 事件传播
5.1.3.4 监听函数中的this
5.1.3.5 事件对象
5.1.4 高级语义事件
5.1.4.1 设计自己的事件机制
5.1.4.2 为原生的事件接口提供快捷方式
5.1.4.3 双剑合璧
5.2 熟练使用Ext的事件机制
5.2.1 基础用法
5.2.1.1 为底层元素注册监听器
5.2.1.2 为Ext的UI组件注册事件
5.2.2 批量注册监听器
5.2.3 指定this
5.2.4 单次运行的监听器
5.2.5 挂起和恢复
5.2.6 事件转发
5.2.7 删除监听函数
5.2.8 事件综合示例
5.2.9 高级用法一:自定义事件
5.2.10 高级用法二:为自定义的类提供事件支持
5.3 Ext事件系统全景解析
5.3.1 封装底层事件
5.3.1.1 Ext.EventManager
5.3.1.2 Ext.EventObject
5.3.2 高级事件机制Observable
5.3.2.1 非可视组件
5.3.2.2 可视组件
5.3.2.3 详解Ext.util.Observable
5.4 全景式解析API根对象Ext
5.4.1 整体结构概述
5.4.2 源码详解
5.4.2.1 Ext版本信息
5.4.2.2 浏览器/OS类型判断
5.4.2.3 垃圾收集配置
5.4.2.4 继承机制的实现
5.4.2.5 id机制
5.4.2.6 对象类型判定
5.4.2.7 数组操纵工具
5.4.2.8 对象引用获取工具
本章总结
第6章 Ext中的Ajax和Direct
6.1 Ajax的前世今生
6.2 Ajax和Ext.Ajax
6.2.1 Ajax那点事儿
6.2.1.1 创建XHR对象
6.2.1.2 发送请求,接收数据
6.2.1.3 Ajax基础实例
6.2.2 Ext.Ajax用法和常见陷阱
6.2.2.1 Ext.Ajax基础用法
6.2.2.2 缓存问题
6.2.2.3 传输XML
6.2.2.4 异步问题
6.2.2.5 跨域问题
6.2.2.6 Ajax上传文件
6.2.3 Ext.Ajax源码解析
6.2.3.1 屏蔽浏览器差异
6.2.3.2 优雅地回调
6.3 按需加载JS,梦想照进现实
6.3.1 基础动态载入技巧
6.3.2 使用Ext.Ajax动态加载JS
6.3.3 使用jsloader动态加载
6.4 Direct
第7章 Ext的数据和缓存架构
7.1 JS原生数据结构
7.1.1 数组技法大演练
7.1.1.1 join
7.1.1.2 slice
7.1.1.3 splice
7.1.1.4 sort
7.1.1.5 Ext扩展:indexOf、remove
7.1.2 JS对象{}
7.1.2.1 天然Hash特性
7.1.2.2 伪数组
7.1.2.3 天然JSON结构
7.2 JSON
7.2.1 使用Ext.util.JSON
7.2.1.1 encodeldecode
7.2.1.2 对象深拷贝
7.2.2 源码分析
7.2.2.1 JSON.decode
7.2.2.2 JSON.encode
7.2.3 服务端JSON工具介绍
7.2.3.1 json-lib
7.2.3.2 DAO直接生成JSON串
7.2.3.3 Gson
7.3 XML
7.3.1 用JS解析XML
7.3.1.1 直接使用XmlDocument加载XML文件
7.3.1.2 使用Ajax加载XML数据
7.3.1.3 自制XML解析器源码分析
7.3.2 Ext使用XML数据
7.3.2.1 使用Ext.data.XmlStore
7.3.2.2 Ext.data.XmlStore的解析方式
7.3.3 JSON VS XML
7.4 MixedCollection
7.4.1 概述
7.4.2 玩转MixedCollection
7.4.2.1 当做数组使用
7.4.2.2 当做HashMap使用
7.4.2.3 迭代
7.4.2.4 查找和过滤
7.4.2.5 排序
7.4.2.6 MixedCollection的事件
7.4.3 MixedCollection源码分析
7.4.3.1 模拟HashMap
7.4.3.2 迭代工具
7.4.3.3 查找和过滤
7.4.3.4 排序和中文支持
7.4.3.5 事件支持
7.4.4 综合考察MixedCollection
7.4.4.1 代码实现层面
7.4.4.2 设计层面
7.5 Store
7.5.1 Store系组件概述
7.5.1.1 继承关系图
7.5.1.2 协作关系图
7.5.1.3 时序图
7.5.1.4 Store的本质
7.5.2 数据记录Record
7.5.2.1 手动创建Record
7.5.2.2 create方法源码解析
7.5.2.3 拷贝记录
7.5.2.4 获取记录中的字段
7.5.3 Store对Record的管理
7.5.3.1 过滤记录——where
7.5.3.2 where机制的实现
7.5.3.3 记录排序——order by
7.5.3.4 order by机制的实现
7.5.3.5 从设计角度“品味”排序特性
7.5.3.6 记录分组——group by
7.5.3.7 group by机制的实现
7.5.3.8 提交和回滚——commit/rollback
7.5.3.9 commit/rollback机制的实现
7.5.3.10 从设计层面“品味”Store的核心特性
7.5.4 DataProxy
7.5.4.1 DataProxy系组件概述
7.5.4.2 用法实例
7.5.4.3 源码解析
7.5.5 DataReader
7.5.5.1 DataReader系组件概述
7.5.5.2 用法实例
7.5.5.3 源码解析
7.5.6 DataWriter
7.5.7 Store系组件总结
7.6 Tree
7.6.1 Tree的基本性质
7.6.1.1 基本属性
7.6.1.2 树和JSON
7.6.1.3 递归遍历
7.6.2 Ext.TreeNode
7.6.2.1 概述
7.6.2.2 父类Node解析
7.6.2.3 TreeNode解析
7.7 Cookie
7.7.1 Cookie概述
7.7.2 使用Ext的Cookie
7.7.3 Ext的Cookies机制
7.7.3.1 顶级类Component
7.7.3.2 CookieProvider源码解析
第8章 面向对象和继承
8.1 JS模拟继承的方式
8.1.1 原型继承
8.1.1.1 子类prototype赋值为父类实例
8.1.1.2 删除不需要的属性
8.1.1.3 重置constructor
8.1.2 对象冒充
8.1.2.1 对象冒充基础原理
8.1.2.2 静态属性
8.1.3 综合运用
8.2 易筋经:Ext.extend()
8.2.1 使用Ext.extend
8.2.1.1 招式一:子类不提供构造函数
8.2.1.2 招式二:子类提供显式构造函数
8.2.1.3 招式三:子类提供隐式构造函数
8.2.2 深度解析Ext.extend的源码
8.2.2.1 关键点1:私有属性
8.2.2.2 关键点2:参数移位
8.2.2.3 关键点3:空壳函数
8.2.2.4 关键点4:prototype拷贝
8.2.2.5 关于静态属性
8.2.3 Ext.extend本质:继承和接口相统一
8.2.3.1 机制总结
8.2.3.2 Ext中的实例
8.2.3.3 Ext.extend再认识
第9章 精通Ext的UI组件
9.1 简单组件
9.1.1 MessageBox
9.1.1.1 熟练使用MessageBox
9.1.1.2 源码解析
9.1.2 ProgressBar
9.1.2.1 熟练使用进展条
9.1.2.2 源码解析
9.1.3 Menu
9.1.4 ToolBar
9.1.4.1 熟练使用ToolBar
9.1.4.2 ToolBar源码解析
9.1.5 LoadMask
9.1.5.1 使用LoadMask
9.1.5.2 LoadMask源码分析
9.1.6 Tip
9.2 Panel系
9.2.1 Panel
9.2.1.1 加载外部页面
9.2.1.2 陷阱和注意点
9.2.2 Window
9.2.2.1 Window的重复创建问题
9.2.2.2 使用WindowGroup管理Window
9.2.2.3 Window的其他配置项
9.2.3 TabPanel
9.3 Form系
9.3.1 表单的加载和提交
9.3.2 更改FieldLabel
9.3.3 多列布局
9.3.4 VTypes表单校验
9.3.5 ComboBox
9.3.5.1 使用本地数据
9.3.5.2 使用远程数据
9.3.5.3 Combo分页
9.3.5.4 二级联动
9.3.6 CheckBox/Radio Group
9.3.7 FielSet
9.3.8 DatePicker
9.3.9 动态添加输入项
9.4 Grid系
9.4.1 GridPanel基本用法
9.4.2 SelectionModel&RowNumberer
9.4.3 客户端分页
9.4.4 服务端分页
9.4.5 renderer和RowAction
9.4.6 动态操纵Record
9.4.7 数据格式化
9.4.8 综合应用EditorGridPanel
9.4.9 GridPanel中的右键菜单
9.5 Tree系
9.5.1 装配“树形”JSON结构
9.5.2 动态加载数据
9.5.3 监听事件
9.5.4 编辑节点数据
9.5.5 节点拖曳
9.5.6 节点过滤
9.5.7 ColumnTree
9.6 DataView系
9.7 特殊组件
9.7.1 文件上传
9.7.2 网页编辑器
9.7.3 调色板
第10章 详解UI组件核心机制
10.1 UI生命周期概述
10.2 详解生命周期
10.2.1 事件机制
10.2.2 组件查找机制
10.2.2.1 使用Ext.getCmp
10.2.2.2 ComponentMgr源码解析
10.2.3 初始化机制
10.2.3.1 拷贝配置属性
10.2.3.2 生成id
10.2.3.3 初始化initComponent
10.2.4 插件机制
10.2.5 渲染机制
10.2.5.1 触发beforerender事件
10.2.5.2 开始渲染onRender
10.2.5.3 应用样式
10.2.5.4 完成渲染afterRender
10.2.5.5 持久化
10.2.5.6 布局
10.2.6 懒渲染机制
10.2.6.1 直接创建
10.2.6.2 使用xtype
10.2.7 销毁机制
10.2.8 总结
10.3 GridPanel核心机制
10.3.1 概述
10.3.2 详解GridView
10.3.2.1 GridPanel和GridView协作关系
10.3.2.2 标签模板初始化
10.3.2.3 GridView对Store的监听
10.3.3 数据模型
10.3.4 选中模式
10.4 FormPanel核心机制
10.4.1 概述
10.4.2 Field和VType
10.5 TreePanel核心机制
10.5.1 TreeLoader加载数据
10.5.2 树的事件机制
第11章 布局管理器
11.1 全面掌握Ext布局
11.1.1 AbsoluteLayout
11.1.2 AccordionLayout
11.1.3 AnchorLayout
11.1.4 AutoLayout
11.1.5 BorderLayout
11.1.6 CardLayout
11.1.7 ColumnLayout
11.1.8 FitLayout
11.1.9 FormLayout
11.1.10 HBoxLayout
11.1.11 MenuLayout
11.1.12 TableLayout
11.1.13 ToolbarLayout
11.1.14 VBoxLayout
11.2 综合应用ViewPort
11.3 布局核心源码详解
11.3.1 布局管理器概述
11.3.2 渲染完成后的布局操作
11.3.3 Container.doLayout
第12章 扩展UI组件
12.1 概述
12.2 常用扩展组件介绍
12.2.1 下拉树ComboTree
12.2.2 时间选择器
12.2.3 Desktop和Portal
12.2.3.1 Desktop实例分析
12.2.3.2 Portal实例分析
12.3 扩展组件的技巧
12.3.1 是否真的需要继承
12.3.2 扩展组件的经典步骤
12.3.3 其他注意点
第13章 模 板
13.1 概述
13.2 Ext模板用法
13.2.1 基本拳脚功夫:基础用法
13.2.1.1 Ext.Template的基础用法
13.2.1.2 Ext.XTempate的基础用法
13.2.2 青出于蓝:实现“值班日志”
13.2.3 组合拳:与其他组件配合使用
13.2.3.1 一个自定义的留言板
13.2.3.2 与DataView配合使用
13.3 模板源码解析
13.3.1 自己实现Template
13.3.1.1 概要设计
13.3.1.2 详细设计
13.3.1.3 编码实现
13.3.1.4 单元测试
13.3.1.5 说明文档
13.3.1.6 重构,增加“预编译”功能
13.3.2 自己实现XTemplate
13.3.2.1 实现if标签
13.3.2.2 实现for标签
13.3.3 Ext模板源码解析
13.3.3.1 Ext.Template
13.3.3.2 Ext.XTemplate
第14章 特 效
14.1 使用Ext动画
14.1.1 调整大小
14.1.2 淡入和淡出
14.1.3 其他特效
14.2 使用拖曳
14.2.1 拖曳的基本原理
14.2.2 基本Ext拖曳
14.2.3 目标区域
14.2.4 Grid和Form之间的拖曳
第15章 图 表
15.1 使用Ext的Chart
15.1.1 解决本地运行问题
15.1.2 用法实例
15.1.2.1 前台本地数据
15.1.2.2 动态加载远程数据
15.1.3 其他类型的Chart
15.2 Ext的Chart源码分析
15.2.1 swfobject与Flash
15.2.2 Ext.FlashComponenet
15.2.2.1 Chart系组件概述
15.2.2.2 如何把swf渲染到页面中
15.2.3 Flash技术前景展望
15.3 其他Chart技术概览
15.3.1 SVG
15.3.1.1 SVG技术简介
15.3.1.2 基本用法示例
15.3.1.3 SVG总结
15.3.2 VML
15.3.2.1 VML技术简介
15.3.2.2 实例代码
15.3.2.3 学习资源
第16章 报 表
16.1 客户端报表ActiveXObject
16.1.1 导出基本HTML页面数据
16.1.2 GridPanel导出到Excel
16.2 后台报表Excel、PDF
16.2.1 使用jxl生成Excel
16.2.2 使用Itext生成PDF/Word
第17章 Ext 4新特性
17.1 SVG图表和动画
17.2 新的类结构和加载机制
17.2.1 类结构优化
17.2.2 继承方式升级
17.2.3 Mixin机制
17.2.4 自动生成getter&setter
17.2.5 动态加载类
17.3 新的数据模型
17.3.1 Model和Store
17.3.2 代理Proxy
17.3.3 关联关系
17.3.4 加载嵌套数据
17.4 新的主题引擎
第18章 常见问题解答
猜您喜欢