出版時間:2012-6 出版社:機械工業(yè)出版社 作者:黃燈橋 頁數:980
Tag標簽:無
前言
近一段時間,隨著HTML 5和CSS 3的逐步升溫,瀏覽器大戰(zhàn)進行得如火如荼,而開發(fā)人員最關心的是JavaScript框架在HTML 5和CSS 3的大潮下會走向何方。 隨著iPhone 4S的出現,手機大戰(zhàn)也進行得如火如荼。目前的情況是,不但手機系統(tǒng)進行著混戰(zhàn),手機應用的框架也在進行混戰(zhàn)。 應該說Ext公司在這方面觸覺是很敏銳的,它選擇合并,將公司更改為Sencha,并通過Sencha加入到手機框架大戰(zhàn)中。本以為Ext JS會止步于Ext JS 3.3,想不到Sencha在手機框架中站穩(wěn)腳跟后,2011年又推出了Ext JS 4.0,對這個頗受歡迎的框架進行了更多的革新,加入了很多HTML 5和CSS 3的元素。 在過渡到HTML 5和CSS 3的時期,Ext JS框架能繼續(xù)發(fā)展,對開發(fā)人員來說是天大的喜事。因為在HTML 5和CSS 3還沒完全一統(tǒng)江湖的時候,開發(fā)人員要繼續(xù)使用目前的開發(fā)工具進行開發(fā)。而Ext JS 3暴露出來的問題也需要不斷修正和更新,這正是Ext JS 4需要解決的。 很不錯,Ext JS 4終于來了。為什么寫這本書 從Ext JS 2.0開始,尤其是Ext JS 3.0推出后,使用Ext JS的開發(fā)人員越來越多。而隨著Ext JS 4的推出,估計會掀起一個新的技術學習熱潮。Ext JS 4進行了架構的調整,做了一系列的規(guī)范化,例如類名的規(guī)范化、UI組件的渲染的規(guī)范化等,還重構了不少UI組件,這些對熟悉Ext JS 3的開發(fā)人員來說都要重新學習。對于新入門的讀者,更是急需Ext JS 4方面的書籍來指導。因此,筆者決定寫一本介紹Ext JS 4的書。 目前市面上介紹Ext JS的圖書基本都是以應用為主,深入介紹Ext JS的很少,這也是筆者寫本書的一個緣由。在本書中,不但介紹了如何使用Ext JS 4,還深入Ext JS 4的源代碼,通過抽絲剝繭的分析,讓大家對Ext JS 4有更深入的理解,從而使開發(fā)人員在使用Ext JS 4時少走彎路。 本書除了深入介紹Ext JS 4外,還有一個主要目的,就是希望大家能掌握Firebug這個工具,學會如何使用Firebug去分析JavaScript代碼的運行過程,提高分析能力及調試水平,減少bug的發(fā)生和調試時間。本書的特色 筆者在Ext JS的學習和交流中發(fā)現,很多使用者對Ext JS的整體架構不太熟悉,造成對應用中的一些問題混淆不清,從而導致應用中出現或多或少的錯誤。例如,對Ext JS的三層架構不熟悉,造成在UI中找數據的問題。而目前各類Ext JS 書籍中很少提及這些方面,所以,針對使用者普遍存在的問題和容易混淆的地方,本書通過原理講解和示例講述“為什么是這樣的”以及“為什么要這樣做”。 本書的主要特色就是通過源代碼的講解,讓讀者明白Ext JS的類是如何運作的,然后通過運行原理及實戰(zhàn)來學習如何使用這些類,并循序漸進地學習Ext JS。本書面向的讀者 本書介紹了Ext JS 4中的幾乎所有功能,并對其源代碼進行了分析和講解。因此,讀者不但可以學習如何使用Ext JS 4,還可以通過閱讀源代碼加深對Ext JS的理解,并從源代碼中吸取別人的經驗,提高自己的腳本編寫能力。只要讀者具備Web編程的基礎,閱讀本書的內容就不會有什么問題。 如果讀者是新手,就應根據第1章關于學習Ext JS必需的基礎知識一節(jié)的建議,去閱讀相應的書籍,掌握Web編程的基礎知識,尤其是JavaScript、HTML和CSS的相關知識。當然,能了解面向對象、三層架構等知識對閱讀本書是相當有幫助的。 如果讀者對Ext JS有一定基礎,則可通過本書深入了解Ext JS的運行原理,加深對Ext JS 的認識,尤其是對Ext JS新的開發(fā)框架的認識。 本書示例中的服務器端代碼,使用C#和Java兩種語言編寫,所以只要熟悉這兩種語言中的一種,對閱讀本書都會有很大幫助。不過,Ext JS是一個基于客戶端的JavaScript框架,對于使用何種服務器端開發(fā)語言沒有要求,因此即使是不懂C#和Java語言的讀者,閱讀本書也不會有太多困難。使用本書的要求 在使用本書的示例時,最好安裝Firefox 4.0以上版本,并且安裝Firebug 擴展。 要運行本書中帶有服務器端代碼的示例,需要: IIS或Tomcat 7.0 .Net :Visual Studio 2010 Java:Eclipse Helios Service Release 2或Spket 1.6.18 SQL Server 2005 本書資源包請登錄華章網站(www.hzbook.com)下載。如何閱讀本書 本書是采用循序漸進的方式來介紹Ext JS 4的,各章之間會有一定的關聯,因此建議讀者按章節(jié)的編排順序逐章閱讀。本書中有些示例是在Firebug中示范的, 所以最好在自己的機器上安裝好Firefox和Firebug,以備使用。這樣做的目的是讓大家在閱讀過程中熟悉Firebug的一些調試技巧,這些技巧在調試Ext JS時是相當有用的。例如,有初學者曾咨詢?yōu)槭裁丛贕rid中顯示不了數據,查了很久都查不到原因,讓筆者幫忙看一下代碼,筆者讓他先用Firebug查看Store是否已提交數據請求,在Firebug網絡面板中,他看到請求已發(fā)送,但是返回的是服務器端代碼錯誤,最后查到僅僅是“將公有方法設置成私有方法”這樣簡單的修正。在很多時候,就是這樣的錯誤造成大麻煩,所以筆者建議多使用Firebug,好的工具可以事半功倍。 本書秉承實踐是最好的老師的精神,立足于“自己動手,豐衣足食”的原則,因而希望讀者在閱讀本書的時候,能親自動手去實踐一下。Let's do it!
內容概要
本書有兩大特點:第一,授人以魚,根據Ext
JS的構成體系全面系統(tǒng)地講解了其開發(fā)方法與技巧,每個知識點都輔之以翔實的案例,同時包含大量最佳實踐,適合系統(tǒng)學習和開發(fā)參考;第二,授人以漁,宏觀上對Ext
JS的整體架構進行了分析,微觀上則通過源代碼深刻揭示了Ext JS的工作機制與原理,對于想了解Ext
JS工作原理和在開發(fā)中碰到疑難問題的讀者尤為有幫助。
全書一共22章:第1章簡要介紹了學習Ext JS必備的基礎知識、JSON、Ext JS
4的新特性,以及其開發(fā)工具的獲取、安裝與配置;第2章介紹了Ext JS 4的獲取、Ext
JS庫的配置與使用、語法、本地化,以及一個經典的入門示例;第3章詳細講解了調試的工具及技巧,這是本書的重要內容,希望所有Web開發(fā)者都能掌握;第4章全面介紹了Ext
JS的基礎架構;第5~9章分別講解了Ext
JS的事件及其應用、選擇器與DOM操作、數據交互、模板與組件、容器、面板、布局與視圖;第10章和第11章分別詳細介紹了重構后的Gird和與Gird同源的樹;第12~16章分別講解了表單、窗口、按鈕、菜單、工具條、圖形、圖表,以及其他組件和實用功能;第17~19章分別介紹了Ext.Direct、動畫功能和拖放功能;第20~22章則分別講解了擴展與插件、主題開發(fā)、MVC應用的架構。
作者簡介
黃燈橋(網名:上將軍)資深Web技術專家,擁有10余年工作經驗,一直致力于Web開發(fā)框架的研究,近年來醉心于Ext
JS框架的開發(fā)與推廣,撰寫了大量關于Ext JS開發(fā)相關的教程,是社區(qū)公認的先鋒和布道者,與Sencha 和Ext
JS的官方開發(fā)團隊有十分緊密的聯系。著有經典著作《JavaScript凌厲開發(fā)——Ext詳解與實踐》和《Ext
JS高級程序設計》。
他不僅精通VB、Delphi和C++等傳統(tǒng)的面向對象技術,而且還擅長ASP.NET、PHP和Java等Web開發(fā)技術。目前重點關注Sencha
Touch、JQuery UI、HTML 5、CSS
3以及NoSQL數據庫等前沿技術。活躍于CSDN(博客專家)等各大技術社區(qū),在社區(qū)內知名度極高,深受網友歡迎。
書籍目錄
前言
第1章 Ext JS 4開發(fā)入門
1.1 學習Ext JS必需的基礎知識
1.2 JSON概述
1.2.1 認識JSON
1.2.2 JSON的結構
1.2.3 JSON的例子
1.2.4 在JavaScript中使用JSON
1.2.5 在.NET中使用JSON
1.2.6 在Java中使用JSON
1.2.7 更多有關JSON的信息
1.3 Ext JS 4概述
1.4 Ext JS的開發(fā)工具的獲取、安裝與配置介紹
1.4.1 Ext Designer
1.4.2 在Visual Studio中實現智能提示
1.4.3 Spket
1.4.4 在Eclipse中實現智能提示
1.5 如何獲得幫助
1.6 本章小結
第2章 從“Hello World”開始
2.1 獲取Ext JS 4
2.2 配置使用Ext JS庫
2.3 編寫“Hello World”程序
2.4 關于Ext.onReady
2.5 關于Ext.BLANK_IMAGE_URL
2.6 關于字體
2.7 Ext JS 4語法
2.8 本地化
2.9 為本書示例準備一個模板
2.10 本章小結
第3章 調試工具及技巧
3.1 使用Firebug進行調試
3.2 在IE中調試
3.2.1 使用Debugbar和Companion.js調試
3.2.2 使用IEtester測試
3.2.3 在IE 8或IE 9中調試
3.3 在Chrome中調試
3.4 調試工具的總結
3.5 調試技巧
3.6 本章小結
第4章 Ext JS的基礎架構
4.1 Ext JS框架的命名空間:Ext
4.1.1 概述
4.1.2 apply和applyIf方法
4.1.3 不推薦的extend方法
4.1.4 數據及其類型檢測
4.1.5 其他的基礎方法
4.2 為框架順利運行提供支持
4.2.1 平臺檢測工具:Ext.is
4.2.2 當前運行環(huán)境檢測工具:Ext.supports
4.3 Ext JS的靜態(tài)方法
4.3.1 概述
4.3.2 Ext.Object中的靜態(tài)方法
4.3.3 Ext.Function中的靜態(tài)方法
4.3.4 Ext.Array中的靜態(tài)方法
4.3.5 Ext.Error中的靜態(tài)方法
4.4 深入了解類的創(chuàng)建及管理
4.4.1 開始創(chuàng)建類
4.4.2 創(chuàng)建類的類:Ext.Class
4.4.3 所有繼承類的基類:Ext.Base
4.4.4 實現動態(tài)加載:Ext.Loader
4.4.5 管理類的類:Ext.ClassManager
4.4.6 類創(chuàng)建的總結
4.5 動態(tài)加載的路徑設置
4.6 綜合實例:頁面計算器
4.7 本章小結
第5章 Ext JS的事件及其應用
5.1 概述
5.2 瀏覽器事件
5.2.1 綁定瀏覽器事件的過程:Ext.EventManager
5.2.2 封裝瀏覽器事件:Ext.EventObject
5.2.3 移除瀏覽器事件
5.3 內部事件
5.3.1 內部事件對象:Ext.util.Event
5.3.2 為組件添加事件接口:Ext.util.Observable
5.3.3 為組件綁定事件
5.3.4 內部事件的觸發(fā)過程
5.3.5 移除事件
5.4 特定功能的事件對象
5.4.1 延時任務:Ext.util.DelayedTask
5.4.2 一般任務:Ext.util.TaskRunner與Ext.TaskManager
5.4.3 封裝好的單擊事件:Ext.util.ClickRepeater
5.5 鍵盤事件
5.5.1 為元素綁定鍵盤事件:Ext.util.KeyMap
5.5.2 鍵盤導航:Ext.util.KeyNav
5.6 綜合實例:股票數據的實時更新
5.7 本章小結
第6章 選擇器與DOM操作
6.1 Ext JS的選擇器:Ext.DomQuery
6.1.1 選擇器的作用
6.1.2 使用Ext.query選擇頁面元素
6.1.3 基本選擇符
6.1.4 屬性選擇符
6.1.5 CSS屬性值選擇符
6.1.6 偽類選擇符
6.1.7 擴展選擇器
6.1.8 Ext.DomQuery的使用方法
6.1.9 Ext JS選擇器的總結
6.2 獲取單一元素:Ext.dom.Element
6.2.1 從錯誤開始
6.2.2 使用Ext.get獲取元素
6.2.3 使用Ext.fly獲取元素
6.2.4 使用Ext.getDom獲取元素
6.2.5 獲取元素的總結
6.3 元素生成器:Ext.dom.Helper
6.3.1 概述
6.3.2 使用createHtml或markup方法生成HTML代碼
6.3.3 使用createDOM方法生成DOM對象
6.3.4 使用createTemplate方法創(chuàng)建模板
6.3.5 Helper對象的使用方法
6.4 元素的操作
6.5 獲取元素集合:Ext.CompositeElementLite與Ext.CompositeElement
6.5.1 使用Ext.select獲取元素集合
6.5.2 Ext.dom.CompositeElement與Ext.dom.CompositeElementLite的區(qū)別
6.5.3 操作元素集合
6.6 綜合實例:可折疊的面板Accordion
6.7 本章小結
第7章 數據交互
7.1 數據交互基礎
7.1.1 Ajax概述
7.1.2 封裝Ajax:Ext.data.Connection與Ext.Ajax
7.1.3 使用Ajax
7.1.4 跨域獲取數據:Ext.data.JsonP
7.1.5 為Element對象提供加載功能:Ext.ElementLoader
7.1.6 為組件提供加載功能:Ext.ComponentLoader
7.2 代理
7.2.1 代理概述
7.2.2 基本的代理:Ext.data.proxy.Proxy
7.2.3 進行批量操作:Ext.data.Batch與Ext.data.Operation
7.2.4 服務器端代理:Ext.data.proxy.Server
7.2.5 使用Ajax處理數據的代理:Ext.data.proxy.Ajax與Ext.data.proxy.Rest
7.2.6 跨域處理數據的代理:Ext.data.proxy.JsonP
7.2.7 為Ext.Direct服務的代理:Ext.data.proxy.Direct
7.2.8 客戶端代理:Ext.data.proxy.Client
7.2.9 從變量中提取數據的代理:Ext.data.proxy.Memory
7.2.10 使用瀏覽器存儲的代理:Ext.data.WebStorageProxy、Ext.data.
SessionStorageProxy和Ext.data.proxy.LocalStorage
7.3 讀取和格式化數據
7.3.1 概述
7.3.2 數據的轉換過程:Ext.data.reader.Xml、Ext.data.reader.Json和Ext.data.reader.Array
7.3.3 Reader對象的配置項
7.3.4 格式化提交數據:Ext.data.writer.Writer、Ext.data.writer.JSON和Ext.data.
writer.Xml
7.3.5 Writer對象的配置項
7.4 數據模型
7.4.1 概述
7.4.2 數據類型及排序類型:Ext.data.Types與Ext.data.SortTypes
7.4.3 數據模型的骨架——字段:Ext.data.Field
7.4.4 數據集:Ext.util.AbstractMixedCollection與Ext.util.MixedCollection
7.4.5 數據驗證及錯誤處理:Ext.data.validations與Ext.data.Errors
7.4.6 模型的關系:Ext.data.Association、Ext.data.HasManyAssociation和Ext.data.BelongsToAssociation
7.4.7 管理數據模型:Ext.AbstractManager與Ext.ModelManager
7.4.8 定義數據模型:Ext.data.Model
7.4.9 數據模型的定義過程
7.4.10 數據模型的創(chuàng)建
7.4.11 數據模型的配置項、屬性和方法
7.5 Store
7.5.1 概述
7.5.2 Store對象的實例化過程
7.5.3 TreeStore對象的實例化過程
7.5.4 Ext.data.Store加載數據的方法
7.5.5 Ext.data.TreeStore加載數據的方法
7.5.6 Store的配置項
7.5.7 Store的分頁
7.5.8 Store的排序:Ext.util.Sorter與Ext.util.Sortable
7.5.9 Store的過濾:Ext.util.Filter
7.5.10 Store的分組:Ext.util.Grouper
7.5.11 樹節(jié)點:Ext.data.NodeInterface與Ext.data.Tree
7.5.12 Store的方法
7.5.13 Store的事件
7.5.14 Store管理器:Ext.data.StoreManager
7.6 綜合實例
7.6.1 遠程讀取JSON數據
7.6.2 讀取XML數據
7.6.3 Store的數據操作
7.7 本章小結
第8章 模板與組件基礎
8.1 模板
8.1.1 模板概述
8.1.2 Ext.Template的創(chuàng)建與編譯
8.1.3 格式化輸出數據:Ext.String、Ext.Number、Ext.Date和Ext.util.Format
8.1.4 超級模板:Ext.XTemplate(包括Ext.XTemplateParser和Ext.XTemplateCompiler)
8.1.5 模板的方法
8.2 組件的基礎知識
8.2.1 概述
8.2.2 組件類的整體架構
8.2.3 布局類的整體架構
8.2.4 組件的創(chuàng)建流程
8.2.5 常用的組件配置項、屬性、方法和事件
8.3 為組件添加功能
8.3.1 為元素添加陰影:Ext.Shadow與Ext.ShadowPool
8.3.2 為組件提供陰影和shim功能:Ext.Layer
8.3.3 讓組件實現浮動功能:Ext.util.Floating
8.3.4 記錄組件狀態(tài):Ext.state.Stateful
8.3.5 實現調整大小功能:Ext.resizer.Resizer與Ext.resizer.ResizeTracker
8.3.6 為組件提供拖動功能:Ext.util.ComponentDragger
8.3.7 為組件實現動畫功能:Ext.util.Animate
8.3.8 其他的組件輔助功能類
8.4 組件的管理
8.4.1 組件管理及查詢:Ext.ComponentManager與Ext.ComponentQuery
8.4.2 焦點管理:Ext.FocusManager
8.4.3 z-order管理:Ext.ZindexManager與Ext.WindowManager
8.4.4 狀態(tài)管理:Ext.state.Manager、Ext.state.Provider、Ext.state.Local-StorageProvider和Ext.state.CookieProvider
8.5 綜合實例
8.5.1 使用子模板
8.5.2 遞歸調用模板
8.6 本章小結
第9章 容器、面板、布局和視圖
9.1 容器與布局的關系
9.2 容器
9.2.1 容器的創(chuàng)建過程:Ext.container.AbstractContainer與Ext.container.Container
9.2.2
Ext.container.AbstractContainer和Ext.container.Container的配置項、屬性、方法和事件
9.2.3 將body元素作為容器:Ext.container.Viewport
9.3 面板
9.3.1 面板的結構
9.3.2 構件的放置:dockedItems
9.3.3 面板標題欄構件:Ext.panel.Header與Ext.panel.Tool
9.3.4 記錄和恢復面板屬性:Ext.util.Memento
9.3.5 面板常用的配置項、方法和事件
9.4 布局
9.4.1 布局概述
9.4.2 布局的運行流程:Ext.layout.Layout
9.4.3 容器類布局基類:Ext.layout.container.Container
9.4.4 盒子布局、垂直布局與水平布局:Ext.layout.container.Box、Ext.layout.container.VBox與Ext.layout.container.HBox
9.4.5 為盒子模型提供調整大小的功能:Ext.resizer.Splitter
9.4.6 手風琴布局:Ext.layout.container.Accordion
9.4.7 錨固布局:Ext.layout.container.Anchor
9.4.8 絕對定位布局:Ext.layout.container.Absolute
9.4.9 邊框布局:Ext.layout.container.Border
9.4.10 自動布局:Ext.layout.container.Auto
9.4.11 表格布局:Ext.layout.container.Table
9.4.12 列布局:Ext.layout.container.Column
9.4.13 自適應布局:Ext.layout.container.AbstractFit與Ext.layout.container.Fit
9.4.14 卡片布局:Ext.layout.container.AbstractCard與Ext.layout.container.Card
9.5 標簽面板
9.5.1 標簽面板的構成及其運行流程:Ext.tab.Panel、Ext.tab.Bar與Ext.tab.Tab
9.5.2 標簽面板的配置項、屬性、方法和事件
9.5.3 使用標簽頁
9.5.4 可重用的標簽頁
9.6 視圖與選擇模型
9.6.1 視圖與選擇模型概述
9.6.2 視圖的運行流程:Ext.view.AbstractView與Ext.view.View
9.6.3 選擇模型的工作流程
9.6.4 選擇模型的配置項、屬性、方法和事件
9.6.5 視圖的配置項、屬性、方法和事件
9.6.6 使用視圖
9.7 頁面布局設計
9.8 綜合實例
9.8.1 布局設計實例:仿Eclipse界面
9.8.2 在單頁面應用中使用卡片布局實現“頁面”切換
9.9 本章小結
第10章 重構后的Grid
10.1 Grid的基類及其構成
10.1.1 概述
10.1.2 表格面板的運行流程:Ext.panel.Table
10.1.3 表格視圖的運行流程:Ext.view.Table與Ext.view.TableChunker
10.1.4 列標題容器的運行流程:Ext.grid.header.Container
10.1.5 列標題的運行流程:Ext.grid.column.Column
10.1.6 虛擬滾動條的工作原理:Ext.grid.PagingScroller
10.1.7 鎖定列的運行流程:Ext.grid.Lockable與Ext.grid.LockingView
10.2 使用Grid
10.2.1 最簡單的Grid
10.2.2 列的配置項
10.2.3 自定義單元格的顯示格式
10.2.4 通過列對象定義單元格的顯示格式
10.2.5 設置行的背景顏色
10.2.6 列標題的分組
10.2.7 使用鎖定列
10.2.8 Grid的配置項、屬性、方法和事件
10.3 Grid的附加功能
10.3.1 概述
10.3.2 附加功能基類:Ext.grid.featrue.Featrue
10.3.3 為行添加附加信息:Ext.grid.featrue.RowBody
10.3.4 數據匯總功能:Ext.grid.featrue.AbstractSummary與Ext.grid.featrue.
Summary
10.3.5 分組功能:Ext.grid.featrue.Grouping
10.3.6 分組匯總功能:Ext.grid.featrue.GroupingSummary
10.4 可編輯的Grid
10.4.1 概述
10.4.2 Grid實現可編輯功能的運行流程:Ext.grid.plugin.Editing
10.4.3 單元格編輯的運行流程:Ext.grid.plugin.CellEditing、Ext.grid.CellEditor與Ext.Editor
10.4.4 行編輯的運行流程:Ext.grid.plugin.RowEditing與Ext.grid.RowEditor
10.4.5 在Grid中使用單元格編輯模式
10.4.6 在Grid中使用行編輯模式
10.4.7 Grid編輯插件的配置項、屬性、方法和事件
10.5 關于列表視圖:ListView
10.6 屬性Grid
10.6.1 概述
10.6.2 使用屬性Grid
10.6.3 自定義編輯組件
10.6.4 PropertyGrid的配置項、屬性、方法和事件
10.7 綜合實例
10.7.1 使用不同選擇模型的Grid以及設置默認選擇行
10.7.2 Grid的本地排序和過濾
10.7.3 使用分頁工具條(PagingToolbar)實現遠程分頁、排序和過濾
10.7.4 使用分頁滾動條(PagingScroller)實現遠程分頁、排序和過濾
10.7.5 使用CellEditing實現數據的增刪改
10.7.6 使用RowEditing實現數據的增刪改
10.7.7 主從表的顯示
10.8 本章小結
第11章 與Grid同源的樹
11.1 樹的構成
11.1.1 概述
11.1.2 樹面板的運行流程:Ext.tree.Panel
11.1.3 TreeStore的運行流程:Ext.data.TreeStore
11.1.4 TreeColumn的運行流程:Ext.tree.Column
11.1.5 視圖的運行流程:Ext.tree.View與Ext.data.NodeStore
11.1.6 樹的選擇模型:Ext.selection.TreeModel
11.2 樹的使用
11.2.1 一個最簡單的樹
11.2.2 樹節(jié)點的默認字段
11.2.3 為樹節(jié)點添加附加字段
11.2.4 顯示多列數據(TreeGrid效果)
11.2.5 在樹中使用復選框
11.2.6 樹的配置項、屬性、方法和事件
11.3 綜合實例
11.3.1 樹的遠程加載
11.3.2 樹的動態(tài)加載及節(jié)點維護
11.3.3 XML樹及節(jié)點維護
11.3.4 使用樹動態(tài)控制Grid的顯示
11.4 本章小結
第12章 表單
12.1 表單的構成及操作
12.1.1 表單面板的運行流程:Ext.form.Panel與Ext.form.FieldAncestor
12.1.2 表單面板的配置項、屬性、方法和事件
12.1.3 表單的管理:Ext.form.Basic
12.1.4 BasicForm的配置項、屬性、方法和事件
12.1.5 表單的操作:Ext.form.action.Action
12.1.6 加載操作的運行流程:Ext.form.action.Load與Ext.form.action.DirectLoad
12.1.7 提交操作的運行流程:Ext.form.action.Submit、Ext.form.action.DirectSubmit與Ext.form.action.StandardSubmit
12.1.8 字段的構成
12.1.9 BaseField的配置項、屬性、方法和事件
12.1.10 常用的驗證函數:Ext.form.field.VTypes
12.2 使用字段
12.3 使用Trigger類字段
12.3.1 具有單擊功能的字段:Ext.form.field.Trigger
12.3.2 實現微調功能的Spinner字段
12.3.3 使用NumberField字段
12.3.4 下拉選擇類字段的基類:Ext.form.field.Picker
12.3.5 使用DateField字段
12.3.6 使用TimeField字段
12.4 使用ComboBox字段
12.4.1 概述
12.4.2 BoundList對象的運行流程
12.4.3 ComboBox字段的配置項、屬性、方法和事件
12.4.4 最簡單的ComboBox
12.4.5 自定義列表顯示格式的ComboBox
12.4.6 動態(tài)調整ComboBox的列表數據
12.4.7 實現ComboBox的聯動
12.4.8 使用ComboBox的查詢功能
12.4.9 設置ComboBox的默認值
12.5 表單的驗證和加載數據
12.5.1 表單的驗證及錯誤顯示方式
12.5.2 為表單加載數據
12.6 在表單中使用布局
12.6.1 分列顯示表單的字段
12.6.2 使用Fieldset作為列容器
12.6.3 使用兩列布局加HtmlEditor的表單
12.6.4 在表單中使用標簽頁
12.7 綜合實例:實現Products表的管理功能
12.8 本章小結
第13章 窗口
13.1 窗口:Ext.window.Window.
13.1.1 窗口的構成
13.1.2 窗口的配置項、屬性、方法和事件
13.1.3 使用窗口
13.1.4 在窗口內使用布局
13.2 信息提示窗口:Ext.window.MessageBox
13.2.1 概述
13.2.2 信息提示窗口的構成
13.2.3 使用信息提示窗口
13.2.4 信息提示窗口按鈕的本地化
13.2.5 使用alert方法
13.2.6 使用confirm方法
13.2.7 使用progress方法
13.2.8 使用prompt方法
13.2.9 使用wait方法
13.2.10 使用信息提示窗口要注意的問題
13.3 綜合實例:實現登錄窗口
13.4 本章小結
第14章 按鈕、菜單與工具條
14.1 按鈕
14.1.1 按鈕的構成:Ext.button.Button
14.1.2 按鈕的配置項、屬性、方法和事件
14.1.3 使用按鈕
14.1.4 帶分割線的按鈕:Ext.button.Split
14.1.5 多狀態(tài)按鈕:Ext.button.Cycle
14.1.6 按鈕組:Ext.container.ButtonGroup
14.2 菜單及菜單項
14.2.1 Ext JS的菜單(Menu對象)是什么
14.2.2 菜單管理器:Ext.menu.Manager
14.2.3 菜單項:Ext.menu.Item
14.2.4 可復選的菜單項:Ext.menu.CheckItem
14.2.5 菜單分隔條:Ext.menu.Separator
14.2.6 顏色選擇器菜單:Ext.menu.ColorPicker
14.2.7 日期選擇菜單:Ext.menu.DatePicker
14.2.8 使用菜單
14.3 工具欄及工具欄組件
14.3.1 工具欄:Ext.toolbar.Toolbar
14.3.2 非交互式工具欄條目的基類:Ext.toolbar.Item
14.3.3 文本項:Ext.toolbar.TextItem
14.3.4 填充項:Ext.toolbar.Fill
14.3.5 工具欄分隔條:Ext.toolbar.Separator
14.3.6 空白項:Ext.toolbar.Spacer
14.3.7 分頁工具欄:Ext.toolbar.Paging
14.3.8 使用工具欄
14.4 使用Ext.Action
14.4.1 概述
14.4.2 Action對象配置項和方法
14.4.3 使用示例
14.5 綜合實例:在Grid中使用右鍵菜單
14.6 本章小結
第15章 圖形與圖表
15.1 基礎知識
15.1.1 SVG簡介
15.1.2 VML簡介
15.2 圖形介紹
15.2.1 概述
15.2.2 畫布的工作流程:Ext.draw.Component
15.2.3 圖形引擎及接口:Ext.draw.Surface、Ext.draw.engine.Svg和Ext.draw.engine.Vml
15.2.4 畫筆:Ext.draw.Sprite
15.2.5 圖層:Ext.draw.CompositeSprite
15.2.6 調色板:Ext.draw.Color
15.2.7 輔助對象:Ext.draw.Draw與Ext.draw.Matrix
15.3 使用圖形功能
15.3.1 簡單的開始
15.3.2 DrawComponent對象的配置項、屬性、方法和事件
15.3.3 Surface對象的配置項、屬性、方法和事件
15.3.4 DrawSprite對象的配置項、屬性、方法和事件
15.3.5 CompositeSprite對象的配置項、屬性、方法和事件
15.3.6 使用基本圖形
15.3.7 使用圖片
15.3.8 使用路徑
15.3.9 移動、旋轉和縮放圖形
15.3.10 使用漸變效果
15.3.11 使用圖層
15.4 圖表介紹
15.4.1 概述
15.4.2 圖表的工作流程
15.5 使用圖表
15.5.1 從一個簡單例子開始
15.5.2 坐標軸的配置項
15.5.3 Series對象的配置項、屬性、方法和事件
15.5.4 折線圖的配置項
15.5.5 顯示多個折線圖及使用圖例
15.5.6 使用面積圖
15.5.7 簡單條形圖(Bar和Column Chart)及使用標簽(Label對象)
15.5.8 堆積條形圖
15.5.9 分組條形圖
15.5.10 自定義條形顏色
15.5.11 使用散點圖
15.5.12 使用餅圖
15.5.13 自定義餅塊顏色
15.5.14 使用表盤圖
15.5.15 使用雷達圖
15.5.16 使用時間軸
15.5.17 實現實時動態(tài)的圖表
15.5.18 使用組合圖
15.5.19 在圖表中使用背景
15.5.20 在圖表中自定義主題
15.6 本章小結
第16章 其他組件及實用功能
16.1 其他組件
16.2 使用滑塊
16.3 使用提示信息
16.4 實用功能
16.5 本章小結
第17章 可簡化通信的Ext.Direct
17.1 準備工作
17.2 Ext.Direct的工作原理及構成
17.2.1 工作原理
17.2.2 Ext.Direct的構成
17.2.3 RemotingProvider對象的具體工作流程
17.2.4 PollingProvider對象的具體工作流程
17.3 配置Ext.Direct的使用環(huán)境
17.3.1 概述
17.3.2 .NET環(huán)境的配置
17.3.3 Java環(huán)境的配置
17.4 使用Ext.Direct
17.4.1 概述
17.4.2 使用DirectProxy及進行CURD操作
17.4.3 使用Ext.Direct實現樹的動態(tài)加載及節(jié)點維護
17.4.4 使用DirectLoad為表單加載數據
17.4.5 使用DirectSubmit提交表單及使用Session
17.4.6 使用Ext.Direct上傳文件
17.4.7 使用PollingProvider對象
17.4.8 錯誤處理
17.5 本章小結
第18章 動畫功能
18.1 動畫功能的構成及工作流程
18.1.1 概述
18.1.2 動畫功能的工作流程:Ext.fx.Anim
18.1.3 分步動畫的工作流程:Ext.fx.Animator
18.2 使用動畫
18.2.1 由最簡單的動畫開始
18.2.2 過渡效果使用的功能函數介紹
18.2.3 使用分步動畫
18.2.4 注意的問題
18.3 在Element對象中使用動畫
18.4 本章小結
第19章 拖放功能
19.1 拖放功能的構成及工作流程
19.1.1 概述
19.1.2 DragDropManager對象的工作流程
19.1.3 注冊節(jié)點:Ext.dd.Registry
19.1.4 一般拖動功能的工作流程:Ext.dd.DD
19.1.5 DragSource對象的工作流程
19.1.6 DropTarget對象的工作流程
19.1.7 DragZone對象的工作流程
19.1.8 DropZone對象的工作流程
19.2 使用拖放功能
19.2.1 最簡單的拖動效果
19.2.2 使用DragSource對象與DropTarget對象
19.2.3 使用DragZone對象與DropZone對象(使用Registry對象)
19.2.4 使用DragZone對象與DropZone對象(不使用Registry對象)
19.2.5 通過拖動實現節(jié)點排序
19.2.6 使用GridViewDropZonePlugin插件
19.2.7 使用TreeViewDragDropPlugin插件
19.2.8 關于Grid和Tree拖動后的數據保存問題
19.3 本章小結
第20章 擴展與插件
20.1 擴展與插件的區(qū)別
20.2 擴展與插件如何選擇
20.3 如何編寫擴展
20.3.1 命名空間
20.3.2 定義擴展
20.3.3 定義別名
20.3.4 定義備用名
20.3.5 要求加載的類:requires與uses
20.3.6 混入功能
20.3.7 構造函數與initComponent方法
20.3.8 靜態(tài)屬性和方法與單件模式
20.3.9 可自動生成set和get方法的屬性與initConfig方法
20.3.10 在擴展中常用的方法
20.3.11 編寫擴展:TreeComboBox
20.4 如何編寫插件
20.4.1 概述
20.4.2 AbstractPlugin對象
20.4.3 插件的別名
20.4.4 編寫插件:RowColor
20.5 擴展和插件介紹
20.5.1 概述
20.5.2 本地分頁代理:Ext.ux.data.PagingMemoryProxy
20.5.3 標簽滾動菜單:Ext.ux.TabScrollerMenu
20.5.4 編輯器TinyMCE
20.6 本章小結
第21章 主題開發(fā)
21.1 準備工作
21.1.1 安裝Ruby
21.1.2 安裝Compass
21.1.3 SASS介紹
21.2 為Ext JS 4創(chuàng)建新主題
21.2.1 概述
21.2.2 目錄結構
21.2.3 修改配置
21.2.4 編譯
21.2.5 測試主題
21.3 通過ui配置項設置組件樣式
21.4 本章小結
第22章 MVC應用架構
22.1 MVC應用架構的構成及工作流程
22.1.1 構成
22.1.2 控制器的工作流程:Ext.app.Controller
22.1.3 Application對象的工作流程
22.2 一步一步實現MVC框架
22.2.1 概述
22.2.2 創(chuàng)建目錄
22.2.3 創(chuàng)建首頁
22.2.4 創(chuàng)建啟動腳本:app.js
22.2.5 定義登錄對話框
22.2.6 創(chuàng)建應用腳本:Application.js
22.2.7 創(chuàng)建Viewport視圖
22.2.8 菜單視圖及控制器
22.2.9 實現訂單管理
22.2.10 實現產品管理
22.2.11 示例效果
22.3 本章小結
附錄 簡寫類名與Ext JS類名對照表
章節(jié)摘錄
版權頁: 插圖: 第14章 按鈕、菜單與工具條 按鈕、菜單和工具條也是使用比較頻繁的組件,可以說是簡單而平凡的組件。本章將講述這些簡單而平凡的組件是如何構成的,以及如何去使用它們。 14.1 按鈕 14.1.1 按鈕的構成:Ext.button.Button Button對象派生于Component對象,因而基本就是由自己的模板構成的,圖14—1是按鈕的元素構成。從圖中可以看到,一個按鈕總共有5個元素,最外層的div負責監(jiān)聽單擊事件,em元素的作用是根據定義使用不同的樣式顯示下拉的小箭頭,button元素的作用是作為圖標和文本的容器,兩個span元素一個用于顯示文本,一個用于顯示圖標,通過不同的樣式,就可實現按鈕的多種樣式。 當為按鈕定義了url配置項的時候,button元素會換成a元素,成為一個鏈接,而且是target為“_blank”的鏈接,這適合用在一些需要打開鏈接的地方。 14.1.2 按鈕的配置項、屬性、方法和事件 1.配置項 allowDepress:布爾值,如果設置為false,會禁止按鈕的按下動作。該配置項只有在enableToggle為true時才有效。默認值是undefined。 arrowAlign:設置小箭頭的位置,值可以為right和bottom,默認值為right。 arrowCls:應用于小箭頭的樣式名稱。 autoWidth:在默認狀態(tài)下,如果沒有設置按鈕的寬度,它會嘗試拉長其寬度以適應容器的寬度。如果按鈕的寬度是由可調整大小的布局管理的,該值設置為false可阻止按鈕自動調整大小。默認值為undefined。 baseCls:應用于按鈕的樣式名稱,默認值為“x—btn”。 baseParams:參數對象,當定義了url配置項,該參數將作為鏈接的提交參數。 clickEvent:設置可以觸發(fā)按鈕句柄函數的DOM事件,默認值是click,值還可以是dblclick或contextmenu。
編輯推薦
《Ext JS 權威指南》為Ext JS領域的集大成之作,不僅全面地講解了Ext JS框架的使用和深入分析了其運行機制與原理,還對Firebug使用方法和原理進行了深入的講解,目的是讓讀者在掌握Ext JS使用的基礎上,能利用Firebug去深入研究Ext JS的原理并對開發(fā)中遇到的各種bug進行調試,是系統(tǒng)學習和開發(fā)參考的必備之選。
名人推薦
相比之前的版本,Ext JS 4發(fā)生了革命性的變化。它在創(chuàng)建之初就以“最全面現代化”為目標,采用了改進的架構并加入了許多新的特性,從而使開發(fā)者能以更低的成本開發(fā)出更加可靠的下一代Web應用。Ext JS 4幾乎對框架的每個部分都進行了升級和優(yōu)化,力圖充分利用現今各主流瀏覽器的能力,同時它也與之前的版本兼容。本書是目前最全面和最系統(tǒng)化地講解Ext JS 4的著作,包含Ext JS 4的所有功能模塊以及開發(fā)方法和技巧,是一本實實在在的“權威指南”,適合系統(tǒng)學習和開發(fā)參考,強烈推薦。 ——51CTO 中國領先的IT技術網站 上將軍是Ext JS領域當之無愧的專家,他在Ext JS領域的造詣之深,令人興嘆。難能可貴的是,他這些年來一直專注于Ext JS的研究和推廣,緊跟Ext JS官方團隊的步伐,撰寫了大量關于Ext JS的最新資訊和技術文章,深受社區(qū)歡迎。同時,他還撰寫了兩本Ext JS的專著,廣獲讀者好評。本書是他的第三本Ext JS著作,也是國內第一本真正全面針對Ext JS 4的專著,它不僅從應用的角度全面講解了Ext JS的使用,而且還從源代碼的角度深入分析了Ext JS的工作原理,可謂廣度和深度兼?zhèn)洹?——Ext JS中國用戶組 Ext JS 4是Web開發(fā)者的福音,本書則是希望系統(tǒng)學習并深入了解Ext JS4的讀者的最佳選擇!目前市面上出版了很多關于Ext JS的書,但是真正基于Ext JS 4的著作僅此一本。大家都知道,Ext JS 4較之以前的版本發(fā)生了很大的變化。更為重要的是,目前市面上的同類著作要么只講Ext JS如何使用,要么只是枯燥地去分析源代碼,本書則是以教會讀者“更好地使用Ext JS”為核心目的,以講解Ext JS的開發(fā)方法和技巧為主,同時還對一些重要的功能模塊和知識點的原理進行了源代碼分析,不僅能讓讀者知道如何做,而且還能知道為什么要這樣做,最終實現做得更好的目的。還要重點提到的是,本書為了照顧不同讀者的需要,服務器端的案例同時給出了Java和C#兩個版本,作者之用心可見一斑! ——Ext JS中文社區(qū)
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載