內容提要
Vue.js 是一個用來開發Web 界面的前端庫。《Vue.js權威指南》致力於普及國內Vue.js 技術體系,讓更多喜歡前端的人員了解和學習Vue.js。如果你對Vue.js 基礎知識感興趣,如果你對源碼解析感興趣,如果你對Vue.js 2.0感興趣,如果你對主流打包工具感興趣,如果你對如何實踐感興趣,《Vue.js權威指南》都是一本不容錯過的以示例代碼為引導、知識涵蓋全面的最佳選擇。《Vue.js權威指南》一共30 章,由淺入深地講解了Vue.js 基本語法及源碼解析。主要內容包括數據綁定、指令、表單控制項綁定、過濾器、組件、表單驗證、服務通信、路由和視圖、vue-cli、測試開發和調試、源碼解析及主流打包構建工具等。該書內容全面,講解細緻,示例豐富,適用於各層次的開發者。
目錄
第1 章 遇見Vue.js 1
1.1 MVX 模式是什麼 1
1.1.1 MVC 1
1.1.2 MVP 2
1.1.3 MVVM 3
1.2 Vue.js 是什麼 4
1.2.1 Vue.js 與其他框架的區別 4
1.2.2 如何使用Vue.js 10
1.2.3 Vue.js 的發展歷史 11
第2 章 數據綁定 13
2.1 語法 13
2.1.1 插值 13
2.1.2 表達式 14
2.1.3 指令 14
2.2 分隔設定 15
第3 章 指令 16
3.1 內部指令 16
3.1.1 v-if 16
3.1.2 v-show 17
3.1.3 v-else 18
3.1.4 v-model 19
3.1.5 v-repeat 22
3.1.6 v-for 30
3.1.7 v-text 32
3.1.8 v-html 32
3.1.9 v-bind 33
3.1.10 v-on 34
3.1.11 v-ref 35
3.1.12 v-el 36
3.1.13 v-pre 36
3.1.14 v-cloak 36
3.2 自定義指令 37
3.2.1 基礎 37
3.2.2 高級選項 41
3.3 內部指令解析 47
3.4 常見問題解析 50
第4 章 計算屬性 53
4.1 什麼是計算屬性 53
4.2 計算屬性快取 54
4.3 常見問題 56
4.3.1 計算屬性getter 不執行的場景 56
4.3.2 在v-repeat 中使用計算屬性 57
第5 章 表單控制項綁定 59
5.1 基本用法 59
5.1.1 text 59
5.1.2 checkbox 59
5.1.3 radio 60
5.1.4 select 60
5.2 值綁定 62
5.3 v-model 修飾指令 63
5.3.1 lazy 63
5.3.2 debounce 64
5.3.3 number 64
5.4 修飾指令原理 64
5.4.1 lazy 64
5.4.2 debounce 65
5.4.3 number 66
第6 章 過濾器 67
6.1 內置過濾器 68
6.1.1 字母操作 68
6.1.2 json 69
6.1.3 限制 69
6.1.4 currency 72
6.1.5 debounce 73
6.2 自定義過濾器 73
6.2.1 fillter 語法 73
6.2.2 教你寫一個filter 75
6.3 源碼解析 76
6.3.1 管道實現 76
6.3.2 過濾器解析 77
6.4 常見問題解析 78
第7 章 Class 與Style 綁定 80
7.1 綁定HTML Class 80
7.1.1 對象語法 80
7.1.2 數組語法 82
7.2 綁定內聯樣式 82
7.2.1 對象語法 82
7.2.2 數組語法 83
7.2.3 自動添加前綴 84
第8 章 過渡 86
8.1 CSS 過渡 87
8.1.1 內置Class 類名 88
8.1.2 自定義CSS 類名 89
8.1.3 顯式聲明CSS 過渡類型 89
8.1.4 動畫案例 89
8.1.5 過渡流程 90
8.2 JavaScript 過渡 92
8.3 漸進過渡 93
第9 章 Method 95
9.1 如何綁定事件 95
9.1.1 內聯方式 95
9.1.2 methods 配置 96
9.1.3 $events 套用 97
9.2 如何使用修飾符 97
9.2.1 prevent 98
9.2.2 stop 98
9.2.3 capture 98
9.2.4 self 98
9.2.5 按鍵 99
9.3 Vue.js 0.12 到1.0 中的變化 99
9.3.1 v-on 變更 99
9.3.2 @click 縮寫 100
第10 章 Vue 實例方法 101
10.1 實例屬性 101
10.1.1 組件樹訪問 101
10.1.2 DOM 訪問 102
10.1.3 數據訪問 102
10.2 實例方法 102
10.2.1 實例DOM 方法的使用 102
10.2.2 實例Event 方法的使用 104
第11 章 組件 107
11.1 基礎 108
11.1.1 註冊 108
11.1.2 數據傳遞 110
11.1.3 混合 123
11.1.4 動態組件 126
11.2 相關拓展 129
11.2.1 組件和v-for 129
11.2.2 編寫可復用組件 130
11.2.3 異步組件 130
11.2.4 資源命名約定 131
11.2.5 內聯模板 132
11.2.6 片段實例 133
11.3 生命周期 134
11.4 開發組件 136
11.4.1 基礎組件 136
11.4.2 基於第三方組件開發 141
11.5 常見問題解析 146
第12 章 表單校驗 154
12.1 安裝 154
12.2 基本使用 155
12.3 驗證結果結構 156
12.4 驗證器語法 158
12.4.1 校驗欄位名field 158
12.4.2 校驗規則定義 160
12.5 內置驗證規則 163
12.5.1 required 163
12.5.2 pattern 165
12.5.3 minlength 165
12.5.4 maxlength 166
12.5.5 min 167
12.5.6 max 167
12.6 與v-model 同時使用 168
12.7 重置校驗結果 169
12.8 表單元素 169
12.9 各校驗狀態對應的class 172
12.9.1 自定義校驗狀態class 173
12.9.2 在其他元素上使用校驗狀態class 173
12.10 分組校驗 174
12.11 錯誤信息 174
12.11.1 錯誤信息輸出組件 177
12.11.2 動態設定錯誤信息 180
12.12 事件 182
12.12.1 單個欄位校驗事件 182
12.12.2 整個表單校驗事件 183
12.13 延遲初始化 185
12.14 自定義驗證器 186
12.14.1 註冊自定義驗證器 187
12.15 自定義驗證時機 189
12.16 異步驗證 192
12.16.1 註冊異步驗證器 192
12.16.2 驗證器函式context 194
第13 章 與服務端通信 196
13.1.1 安裝 197
13.1.2 參數配置 198
13.1.3 headers 配置 199
13.1.4 基本HTTP 調用 200
13.1.5 請求選項對象 202
13.1.6 response 對象 205
13.1.7 RESTful 調用 205
13.1.8 攔截器 207
13.1.9 跨域AJAX 208
13.1.10 Promise 210
13.1.11 url 模板 211
13.2 vue-async-data 212
13.2.1 安裝 212
13.2.2 使用 212
13.3 常見問題解析 213
13.3.1 如何傳送JSONP 請求 213
13.3.2 如何修改傳送給服務端的數據類型 215
13.3.3 跨域請求出錯 215
13.3.4 $.http.post 方法變為OPTIONS 方法 216
第14 章 路由與視圖 217
14.1 如何安裝 217
14.2 基本使用 218
14.3 視圖部分 219
14.3.1 v-link 219
14.3.2 router-view 222
14.4 路由實例 222
14.4.1 實例化路由 222
14.5 組件路由配置 227
14.5.1 路由切換的各個階段 227
14.5.2 各階段的鉤子介紹 230
14.6 路由匹配 236
14.6.1 動態片段 236
14.6.2 全匹配片段 237
14.6.3 具名路徑 237
14.6.4 路由對象 238
14.7 transition 對象 239
14.8 嵌套路由 239
14.9 動態載入路由組件 241
14.10 實戰 242
14.10.1 瀏覽器直接引用 242
14.10.2 Webpack 模組化開發 244
14.11 常見問題解析 250
第15 章 vue-cli 254
15.1 安裝 254
15.2 基本使用 254
15.3 命令 257
15.3.1 init 257
15.3.2 list 257
15.4 模板 258
15.4.1 官方模板 258
15.4.2 自定義模板 258
15.4.3 本地模板 259
15.5 不錯的工具包 259
15.5.1 commander 259
15.5.2 download-git-repo 259
15.5.3 inquirer 259
15.5.4 ora 260
第16 章 測試開發與調試 261
16.1 測試工具 261
16.1.1 ESLint 261
16.1.2 工具包 263
16.2 開發工具 264
16.2.1 Vue Syntax Highlight 264
16.2.2 Snippets 264
16.2.3 其他編輯器/IDE 265
16.3 調試工具 269
第17 章 scrat+Vue.js 的化學反應 271
17.1 淺談前端工程化 271
17.2 前端工程化怎么做 271
17.3 scrat 簡介 273
17.4 scrat+Vue.js 實現組件 275
17.5 案例分析 276
17.5.1 準備工作 277
17.5.2 代碼實現 279
17.5.3 編譯和發布 284
17.6 總結 287
第18 章 Vue.js 2.0 288
18.1 API 變更 288
18.1.1 全局配置 288
18.1.2 全局API 289
18.1.3 VM 選項 290
18.1.4 實例屬性 294
18.1.5 實例方法 294
18.1.6 指令 296
18.1.7 特殊元素 297
18.1.8 服務端渲染 297
18.2 Virtual DOM 297
18.2.1 認識Virtual DOM 297
18.2.2 Virtual DOM 在Vue.js 2.0 中的實現 299
18.3 服務端渲染技術 315
18.3.1 普通服務端渲染 315
18.3.2 流式服務端渲染 320
18.4 總結 326
第19 章 源碼篇——util 327
19.1 env 327
19.1.1 系統判斷 328
19.1.2 屬性支持 328
19.1.3 過渡屬性 329
19.1.4 nextTick 330
19.1.5 set 332
19.2 dom 332
19.2.1 dom 操作 332
19.2.2 屬性操作 339
19.2.3 class 操作 341
19.2.4 事件操作 343
19.2.5 其他 344
19.3 lang 347
19.3.1 對象操作 347
19.3.2 名稱轉換 351
19.3.3 數組操作 352
19.3.4 類型轉換 352
19.3.5 方法綁定 354
19.3.6 其他 354
19.4 components 357
19.5 options 359
19.6 debug 364
第20 章 源碼篇——深入回響式原理 365
20.1 如何追蹤變化 365
20.1.1 Observer 367
20.1.2 Directive 372
20.1.3 Watcher 382
20.2 變化檢測問題 391
20.3 初始化數據 394
20.4 異步更新佇列 395
20.5 計算屬性的奧秘 398
20.6 總結 402
第21 章 源碼篇——父子類合併策略 403
21.1 策略是什麼 403
21.1.1 生命周期合併策略 403
21.1.2 屬性方法計算 405
21.1.3 數據合併策略 406
第22 章 源碼篇——快取 409
22.1 Cache 有什麼用 409
22.2 LRU 410
22.3 Cache 類 410
22.4 put 410
22.5 shift 411
22.6 get 412
第23 章 源碼篇——屬性props 413
23.1 流程設計 413
23.2 屬性name 415
23.3 coerce 416
23.4 type 驗證 416
23.5 default 417
23.6 validator 418
第24 章 源碼篇——events 419
24.1 events 配置是什麼 419
24.1.1 如何配置 419
24.1.2 $emit 觸發 422
24.1.3 $once 綁定 424
24.1.4 $off 刪除 425
24.1.5 $dispatch 派發 426
24.1.6 $broadcast 廣播 427
第25 章 Webpack 428
25.1 安裝 428
25.2 基本使用 429
25.3 命令行 430
25.4 配置檔案 430
25.4.1 context 431
25.4.2 entry 431
25.4.3 output 432
25.4.4 module 433
25.4.5 resolve 434
25.4.6 devServer 435
25.5 開發調試 435
25.5.1 安裝 435
25.5.2 啟動服務 435
25.5.3 命令行參數 436
25.5.4 配置檔案 436
25.6 使用外掛程式 436
25.6.1 安裝 437
25.6.2 常用外掛程式 438
第26 章 Rollup 440
26.1 簡介 440
26.2 安裝 441
26.3 配置 441
26.4 命令 443
26.5 外掛程式 447
26.6 常見問題解析 449
第27 章 Browserify 450
27.1 安裝 450
27.2 基本使用 450
27.3 轉換模組 451
27.3.1 安裝轉換模組 451
27.3.2 使用轉換模組 452
27.3.3 相關轉換模組介紹 452
第28 章 vue-loader 456
28.1 如何配置 456
28.2 包含內容 456
28.3 特性介紹 457
28.4 常見問題解析 458
28.5 源碼解析 459
28.6 工具包介紹 465
第29 章 PostCSS 467
29.1 安裝 467
29.2 配置 467
29.3 命令 468
29.4 外掛程式 471
第30 章 拓展篇 473
30.1 Composition Event 473
30.2 ES 6 474
30.2.1 模組 475
30.2.2 let 479
30.2.3 const 481
30.3 object 482
30.4 函式柯里化 488
30.4.1 動態創建函式 488
30.4.2 參數復用 489