《Ember.js實戰》是2015年7月人民郵電出版社出版的圖書,作者是[挪]喬基姆·哈根·斯基(Joachim Haagen Skeie)。
基本介紹
- 中文名:Ember.js實戰
- 作者:[挪]喬基姆·哈根·斯基(Joachim Haagen Skeie)
- 出版時間:2015年7月
- 出版社:人民郵電出版社
- 頁數:218 頁
- ISBN:9787115390011
- 定價:49 元
- 開本:16 開
- 裝幀:平裝
內容簡介,圖書目錄,
內容簡介
Ember.js號稱是一個“雄心勃勃”的JavaScript MVC框架、現代JavaScript MVC框架代表,是構造如單頁面套用等現代Web應用程式的新型Web端開發框架。本書深入介紹了這一框架的方方面面。
全書分為三個部分。第 一部分為基礎內容,共4章,引導讀者對Ember.js有個概括性認識,並掌握其基礎知識點,此部分包含兩個示例程式——注意事項應用程式與部落格應用程式;第 二部分包括第5章到第8章,涉及Ember.js實戰的幾個關注點,如Ember Data、自定義組件以及測試;第三部分為第9章到第 11章,討論Ember.js的高級主題,如認證、運行循環和打包部署。
圖書目錄
第 一部分 Ember.js基礎
第 1章 發力雄心勃勃的Web套用 2
1.1 Ember.js適用場景 3
1.2 從靜態頁面到Ajax、再到全功能Web套用 4
1.2.1 異步Web套用的興起 5
1.2.2 Ember.js模型 6
1.3 Ember.js概覽 6
1.3.1 Ember.js特性 7
1.3.2 Ember.js應用程式結構 7
1.4 第 一個Ember.js應用程式:記事本套用 9
1.4.1 記事本套用開發起步 11
1.4.2 創建命名空間與路由器 13
1.4.3 定義應用程式路由 14
1.4.4 創建並列出事項 16
1.4.5 選擇並查看單條事項 19
1.4.6 刪除事項 23
1.5 小結 28
第 2章 Ember.js第 2章 Ember.js風格 29
2.1 綁定對象 30
2.2 自動更新模板 33
2.3 計算屬性 35
2.4 觀察者模式 38
2.5 Ember.js對象模型 39
2.6 Ember.js實現各層間數據同步 41
2.7 小結 42
第3章 使用Ember.js路由器融合套用結構 43
3.1 Ember.js實戰部落格介紹 44
3.2 伺服器端模型-視圖-控制器模式的困境 46
3.2.1 Ember MVC模式 47
3.2.2 將各層組合起來 48
3.3 Ember路由器:Ember.js的狀態圖 49
3.4 Ember.js實戰部落格第 一部分:部落格索引頁 52
3.4.1 創建部落格路由器 52
3.4.2 添加視圖和模板 55
3.4.3 顯示部落格文章列表 56
3.5 Ember.js實戰部落格第 二部分:添加部落格文章路由 59
3.6 依賴注入與Ember容器 65
3.6.1 使用needs屬性連線控制器 65
3.6.2 通過Ember容器連線對象 66
3.7 小結 68
第4章 通過Handlebars.js自動更新模板 69
4.1 模板是什麼 69
4.1.1 簡單表達式 70
4.1.2 塊表達式 71
4.2 內置塊表達式 73
4.2.1 if及if-else塊表達式 73
4.2.2 {{unless}}塊表達式 74
4.2.3 {{with}}塊表達式 74
4.2.4 Handlbars.js的注釋 75
4.3 結合使用Handlebars.js與Ember.js 75
4.3.1 在index.html中定義模板 76
4.3.2 直接在Ember.TEMPLATES散列中定義模板 77
4.3.3 創建Handlebars.js模板支持的Ember.js視圖 77
4.4 Ember.js提供的Handlebars.js表達式 78
4.4.1 {{view}}表達式 79
4.4.2 {{bind-attr}}表達式 80
4.4.3 {{action}}表達式 81
4.4.4 {{outlet}}表達式 83
4.4.5 {{unbound}}表達式 84
4.4.6 {{partial}}表達式 84
4.4.7 {{link-to}}表達式 85
4.4.8 {{render}}表達式 85
4.4.9 {{control}}表達式 86
4.4.10 {{input}}和{{textarea}}表達式 87
4.4.11 {{yield}}表達式 88
4.5 創建自己的表達式 88
4.6 小結 89
第 二部分 創建雄心勃勃的真實Web套用
第5章 獲取數據:使用Ember Data與伺服器端互動 92
5.1 將Ember Data用作套用快取 93
5.1.1 定義Ember Data模型 93
5.1.2 標識映射的Ember Data 94
5.1.3 模型對象間的關聯 96
5.1.4 模型狀態和事件 97
5.1.5 與後台通信 99
5.2 初嘗Ember Data 100
5.2.1 從模型中獲取數據 101
5.2.2 在模型中指定關聯關係 101
5.3 Ember Data模型的關聯 103
5.3.1 了解Ember Data模型的
關聯關係 103
5.3.2 Ember Data端數據載入 106
5.4 自定義適配器和序列化器 108
5.4.1 編寫自定義適配器,但保留默認的序列化器 109
5.4.2 編寫自定義適配器和序列化器代碼 111
5.4.3 自定義URL 113
5.5 小結 113
第6章 繞過Ember Data與伺服器端第6章 繞過Ember Data與伺服器端互動 115
6.1 Ember Fest介紹 115
6.1.1 了解應用程式的路由器 117
6.1.2 使用model( )鉤子函式獲取數據 117
6.1.3 實現標識映射 118
6.2 獲取數據 119
6.2.1 通過find( )函式返回指定演講數據 120
6.2.2 通過findAll( )函式獲取所有演講數據 121
6.2.3 實現Emberfest.Talk模型類 121
6.3 數據持久化 124
6.3.1 通過createRecord( )函式提交新的演講 124
6.3.2 通過updateRecord( )函式修改演講數據 127
6.3.3 通過delete( )函式刪除演講數據 130
6.4 小結 131
第7章 編寫自定義第7章 編寫自定義組件 133
7.1 關於Ember自定義組件 134
7.2 實現可選列表 134
7.2.1 定義selectable-list組件 137
7.2.2 selectable-list-item組件 138
7.2.3 delete-modal組件 140
7.2.4 通過已完成的三個組件刪除具體項 141
7.3 實現樹形選單 144
7.3.1 樹形選單的數據模型 144
7.3.2 定義tree-menu組件 145
7.3.3 定義tree-menu-item和tree-menu-node組件 145
7.3.4 單選功能支持 147
7.4 小結 150
第8章 測試Ember.js套用第8章 測試Ember.js套用 程式 152
8.1 使用QUnit和PhantomJS進行單元測試 153
8.1.1 Qunit介紹 154
8.1.2 使用PhantomJS在命令行執行測試 156
8.1.3 集成QUnit和PhantomJS 157
8.2 使用QUnit編寫簡單的Ember.js單元測試 160
8.3 集成測試 164
8.3.1 Sinon介紹 165
8.3.2 添加新告警信息的集成測試 166
8.4 通過Ember.Instrumentation進行性能測試 168
8.5 小結 169
第三部分 高 級Ember.js主題
第9章 使用Mozilla Persona進行第9章 使用Mozilla Persona進行認證 172
9.1 集成第三方認證系統 173
9.1.1 首 次登錄及註冊 173
9.1.2 通過第三方認證提供者登錄Montric 177
9.2 通過HTTP cookie登錄用戶 180
9.3 小結 183
第 10章 Ember.js運行循環——Backburner.js 185
10.1 什麼是運行循環? 186
10.1.1 Ember.js TodoMVC應用程式介紹 186
10.1.2 解釋Ember.js運行循環 187
10.2 在運行循環框架下執行代碼 191
10.2.1 在當前運行循環中執行代碼 191
10.2.2 在下一個運行循環中執行代碼 192
10.2.3 在後續運行循環中執行代碼 193
10.2.4 在指定佇列執行代碼 194
10.2.5 通過運行循環執行重複任務 196
10.3 小結 197
第 11章 打包與第 11章 打包與部署 198
11.1 理解JavaScript應用程式打包和裝配 199
11.1.1 選擇結構 199
11.1.2 組織自己編寫的原始碼 200
11.1.3 組織非JavaScript資源 202
11.1.4 Ember.js應用程式裝配過程 203
11.2 使用構建工具Grunt.js 204
11.2.1 為Montric應用程式引導Grunt.js構建系統 205
11.2.2 連線JavaScript代碼 206
11.2.3 抽取外掛程式配置代碼到單獨檔案 208
11.2.4 Lint常見錯誤 209
11.2.5 預編譯Handlebars模板 211
11.2.6 壓縮源檔案 214
11.2.7 Grunt.js的優缺點 217
11.3 小結 218