Angular 5高級編程(第2版)

Angular 5高級編程(第2版)

《Angular 5高級編程(第2版)》是2018年1月清華大學出版社出版的圖書,作者是[美] Adam Freeman 。

基本介紹

  • 中文名:Angular 5高級編程(第2版)
  • 作者:[美] Adam Freeman
  • 出版時間:2018年1月
  • 出版社:清華大學出版社
  • ISBN:9787302491170
  • 定價:128 元
內容簡介,圖書目錄,

內容簡介

《Angular 5 高級編程(第2版)》內容已經全面更新到最新版Angular 5!本書將告知讀者如何充分利用領先的一體化框架Angular 5來構建動態的JavaScript應用程式。暢銷書作家Adam Freeman首先介紹了MVC模式及其優勢,然後展示了如何在項目中使用Angular框架,從最基本的功能開始,逐步建立最高級和複雜的功能,深入理解開發Angular應用程式所需的知識。
《Angular 5 高級編程(第2版)》對每個主題的詮釋都非常清晰且簡潔凝練,並且包含大量能夠助你學以致用的細節,以務實的視角深入討論Angular框架最重要的一些功能,每章都包括常見問題並詳細講解如何避免這些問題發生。

圖書目錄

第1章 準備工作 1
1.1 需要了解什麼 1
1.2 本書結構 1
1.2.1 第1部分:準備 2
1.2.2 第2部分:使用Angular 2
1.2.3 第3部分:Angular的高級功能 2
1.3 大量示例 2
1.4 獲取示例代碼 4
1.5 如何搭建開發環境 4
1.6 聯繫作者 4
1.7 本章小結 4
第2章 第一個Angular應用程式 5
2.1 準備開發環境 5
2.1.1 安裝Node.js 5
2.1.2 安裝angular-cli包 6
2.1.3 安裝Git 6
2.1.4 安裝編輯器 7
2.1.5 安裝瀏覽器 7
2.2 創建並準備項目 8
2.2.1 創建項目 8
2.2.2 創建包檔案 8
2.2.3 啟動伺服器 10
2.2.4 編輯HTML檔案 11
2.3 向項目中添加Angular功能 13
2.3.1 準備HTML檔案 14
2.3.2 創建數據模型 14
2.3.3 創建模板 17
2.3.4 創建組件 17
2.3.5 將應用程式組合起來 19
2.4 向示例應用程式中添加功能 21
2.4.1 添加待辦事項表格 21
2.4.2 創建雙向數據綁定 25
2.4.3 添加待辦事項 27
2.5 本章小結 29
第3章 創建項目 31
3.1 準備創建項目 31
3.2 創建項目 32
3.2.1 創建項目的Angular部分 33
3.2.2 創建項目的ASP.NET Core MVC部分 34
3.3 配置項目 35
3.3.1 準備項目(Visual Studio) 35
3.3.2 創建和編輯配置檔案 36
3.3.3 啟用日誌訊息 39
3.3.4 更新Bootstrap包 39
3.3.5 移除檔案 40
3.3.6 更新控制器、布局和視圖 40
3.4 運行項目 42
3.5 理解合併項目和工具 44
3.5.1 理解項目結構 44
3.5.2 理解工具集成 44
3.5.3 理解項目變更系統 45
3.5.3 檢測TypeScript錯誤 48
3.6 本章小結 50
第4章 HTML和CSS入門 51
4.1 準備示例項目 51
4.2 理解HTML 53
4.2.1 理解空元素 54
4.2.2 理解屬性 54
4.2.3 套用無值屬性 54
4.2.4 在屬性中引用字面量 55
4.2.5 理解元素內容 55
4.2.6 理解文檔結構 55
4.3 理解Bootstrap 57
4.3.1 套用基本的Bootstrap類 57
4.3.2 使用Bootstrap樣式化表格 61
4.3.3 使用Bootstrap創建表單 62
4.3.4 使用Bootstrap創建格線 63
4.4 本章小結 68
第5章 JavaScript與TypeScript:
第1部分 69
5.1 準備示例項目 70
5.1.1 創建HTML和JavaScript檔案 71
5.1.2 配置TypeScript編譯器 72
5.1.3 運行示例項目 72
5.2 理解script元素 73
5.2.1 使用JavaScript模組載入器 73
5.2.2 理解基本工作流 74
5.3 使用語句 75
5.4 定義和使用函式 75
5.4.1 定義帶參數的函式 77
5.4.2 定義返回結果的函式 79
5.4.3 將函式用作其他函式的實參 79
5.5 使用變數和類型 80
5.6 使用JavaScript操作符 84
5.6.1 使用條件語句 84
5.6.2 相等操作符和恆等操作符 85
5.6.3 顯式類型轉換 86
5.7 處理數組 87
5.7.1 使用數組字面量 88
5.7.2 數組內容的讀取和修改 88
5.7.3 遍歷數組內容 89
5.7.4 使用內置數組方法 89
5.8 本章小結 91
第6章 JavaScript與TypeScript:
第2部分 93
6.1 準備示例項目 93
6.2 使用對象 94
6.2.1 使用對象字面量 95
6.2.2 將函式用作方法 95
6.2.3 定義類 96
6.3 處理JavaScript模組 99
6.3.1 創建模組 99
6.3.2 從JavaScript模組導入 100
6.4 有用的TypeScript特性 103
6.4.1 使用類型註解 103
6.4.2 使用元組 109
6.4.3 使用可索引類型 109
6.4.4 使用訪問修飾符 110
6.5 本章小結 111
第7章 SportsStore:一個真實的應用程式 113
7.1 準備項目 113
7.1.1 準備項目 114
7.1.2 創建資料夾結構 114
7.1.3 安裝額外的NPM軟體包 114
7.1.4 準備RESTful Web服務 116
7.1.5 準備HTML檔案 118
7.1.6 運行示例應用程式 119
7.1.7 啟動RESTful Web服務 119
7.2 準備Angular項目功能 120
7.2.1 更新根組件 120
7.2.2 更新根模組 121
7.2.3 檢查引導檔案 121
7.3 啟動數據模型 122
7.3.1 創建模型類 122
7.3.2 創建虛擬數據源 123
7.3.3 創建模型存儲庫 124
7.3.4 創建功能模組 126
7.4 啟動商店 126
7.4.1 創建Store組件和模板 127
7.4.2 創建商店功能模組 128
7.4.3 更新根組件和根模組 129
7.5 添加商店功能:產品詳情 130
7.5.1 顯示產品詳情 130
7.5.2 添加類別選擇 132
7.5.3 添加產品分頁功能 133
7.5.4 創建自定義指令 137
7.6 本章小結 140
第8章 SportsStore:訂單和結賬 141
8.1 準備示例應用程式 141
8.2 創建購物車 141
8.2.1 創建購物車模型 141
8.2.2 創建購物車概覽組件 143
8.2.3 將購物車集成到商店中 145
8.3 添加URL路由 148
8.3.1 創建購物車詳情和結賬組件 148
8.3.2 創建和套用路由配置 150
8.3.3 應用程式導航 151
8.3.4 守衛路由 154
8.4 完成購物車詳情功能 156
8.5 處理訂單 159
8.5.1 擴展模型 159
8.5.2 收集訂單詳情 161
8.6 使用RESTful Web服務 165
8.7 本章小結 168
第9章 SportsStore:管理 169
9.1 準備示例應用程式 169
9.1.1 創建模組 169
9.1.2 配置URL路由系統 172
9.1.3 導航到管理URL 173
9.2 實現身份驗證 175
9.2.1 理解身份驗證系統 175
9.2.2 擴展數據源 176
9.2.3 創建身份驗證服務 177
9.2.4 啟用身份驗證 178
9.3 擴展數據源和存儲庫 181
9.4 創建管理功能結構 185
9.4.1 創建占位符組件 185
9.4.2 準備常用內容和功能模組 186
9.4.3 實現產品功能 189
9.4.4 實現訂單功能 193
9.5 本章小結 195
第10章 SportsStore:部署 197
10.1 準備部署應用程式 197
10.2 將SportsStore應用程式容器化 197
10.2.1 安裝Docker 197
10.2.2 準備應用程式 198
10.2.3 創建Docker容器 199
10.2.4 運行應用程式 200
10.3 本章小結 201
第11章 創建Angular項目 203
11.1 準備TypeScript Angular開發項目 203
11.1.1 創建項目資料夾結構 204
11.1.2 創建和提供HTML文檔 204
11.1.3 準備項目配置 205
11.1.4 添加包 205
11.1.5 啟動監視進程 213
11.2 使用TypeScript開始
Angular開發 214
11.2.1 創建數據模型 216
11.2.2 創建模板和根組件 219
11.2.3 創建Angular模組 220
11.2.4 引導應用程式 221
11.2.5 配置JavaScript模組載入器 222
11.2.6 更新HTML文檔 226
11.2.7 運行應用程式 227
11.3 利用@angular/cli工具創建項目 229
11.3.1 創建示例項目 229
11.3.2 創建包檔案 230
11.3.3 啟動伺服器 231
11.4 本章小結 231
第12章 使用數據綁定 233
12.1 準備示例項目 234
12.2 理解單向數據綁定 234
12.2.1 理解綁定目標 236
12.2.2 理解表達式 237
12.2.3 理解括弧 238
12.2.4 理解宿主元素 239
12.3 使用標準屬性和屬性綁定 239
12.3.1 使用標準屬性綁定 239
12.3.2 使用字元串插入綁定 241
12.3.3 使用元素屬性綁定 242
12.4 設定CSS類和樣式 244
12.4.1 使用類綁定 244
12.4.2 使用樣式綁定 248
12.5 更新應用程式的數據 252
12.6 本章小結 254
第13章 使用內置指令 255
13.1 準備示例項目 256
13.2 使用內置指令 257
13.2.1 使用ngIf指令 258
13.2.2 使用ngSwitch指令 260
13.2.3 使用ngFor指令 262
13.2.4 使用ngTemplateOutlet指令 271
13.3 理解單向數據綁定的限制 273
13.3.1 使用冪等表達式 274
13.3.2 理解表達式上下文 276
13.4 本章小結 279
第14章 使用事件和表單 281
14.1 準備示例項目 282
14.1.1 添加表單模組 282
14.1.2 準備組件和模板 283
14.2 使用事件綁定 285
14.2.1 理解動態定義的屬性 286
14.2.2 使用事件數據 288
14.2.3 使用模板引用變數 290
14.3 使用雙向數據綁定 292
14.4 處理表單 295
14.4.1 向示例應用程式添加表單 295
14.4.2 添加表單數據驗證 297
14.4.3 驗證整個表單 307
14.5 使用基於模型的表單 313
14.5.1 啟用基於模型的表單功能 313
14.5.2 定義表單模型類 314
14.5.3 使用模型進行驗證 317
14.5.4 根據模型生成元素 321
14.6 創建自定義表單驗證器 322
14.7 本章小結 325
第15章 創建屬性指令 327
15.1 準備示例項目 328
15.2 創建簡單的屬性指令 330
15.3 在指令中訪問應用程式數據 333
15.3.1 讀取宿主元素屬性 333
15.3.2 創建數據綁定輸入屬性 335
15.3.3 回響輸入屬性變化 338
15.4 創建自定義事件 340
15.5 創建宿主元素綁定 343
15.6 在宿主元素上創建雙向綁定 344
15.7 導出指令用於模板變數 348
15.8 本章小結 350
第16章 創建結構型指令 351
16.1 準備示例項目 352
16.2 創建簡單的結構型指令 353
16.2.1 實現結構型指令類 354
16.2.2 啟用結構型指令 356
16.2.3 使用結構型指令的簡潔語法 358
16.3 創建疊代結構型指令 359
16.3.1 提供額外的上下文數據 362
16.3.2 使用簡潔的結構語法 363
16.3.3 處理屬性級數據變更 364
16.3.4 處理集合級數據變更 365
16.4 查詢宿主元素內容 376
16.4.1 查詢多個子內容 379
16.4.2 接收查詢變更通知 381
16.5 本章小結 382
第17章 理解組件 385
17.1 準備示例項目 386
17.2 使用組件來組織應用程式 386
17.2.1 創建新組件 388
17.2.2 定義模板 391
17.2.3 完成組件的重組 400
17.3 使用組件樣式 401
17.3.1 定義外部組件樣式 402
17.3.2 使用高級樣式特性 403
17.4 查詢模板內容 410
17.5 本章小結 412
第18章 使用和創建管道 413
18.1 準備示例項目 414
18.2 理解管道 418
18.3 創建一個自定義管道 419
18.3.1 註冊自定義管道 421
18.3.2 套用自定義管道 421
18.3.3 組合管道 423
18.3.4 創建非純管道 423
18.4 使用內置管道 427
18.4.1 格式化數值 428
18.4.2 格式化貨幣值 431
18.4.3 格式化百分比 433
18.4.4 格式化日期 435
18.4.5 改變字元串大小寫 438
18.4.6 將數據序列化為JSON數據 439
18.4.7 將數據數組切片 440
18.5 小結 442
第19章 使用服務 443
19.1 準備示例項目 444
19.2 理解對象分發問題 445
19.2.1 問題的提出 445
19.2.2 利用依賴注入將對象作為服務分發 450
19.2.3 在其他構造塊中聲明依賴 455
19.3 理解測試隔離問題 461
19.4 完成服務的融入 465
19.4.1 更新根組件和模板 465
19.4.2 更新子組件 466
19.5 小結 468
第20章 使用服務提供程式 469
20.1 準備示例項目 470
20.2 使用服務提供程式 471
20.2.1 使用類提供程式 474
20.2.2 使用值提供程式 481
20.2.3 使用工廠提供程式 483
20.2.4 使用已有服務提供程式 486
20.3 使用本地提供程式 487
20.3.1 理解單個服務對象的限制 488
20.3.2 在一條指令中創建本地提供程式 489
20.3.3 在組件中創建本地提供程式 491
20.3.4 控制依賴解析 495
20.4 小結 498
第21章 使用和創建模組 499
21.1 準備示例項目 499
21.2 理解根模組 501
21.2.1 理解imports屬性 504
21.2.2 理解declarations 屬性 504
21.2.3 理解providers屬性 504
21.2.4 理解bootstrap屬性 504
21.3 創建功能模組 507
21.3.1 創建模型模組 508
21.3.2 創建實用工具功能模組 512
21.3.3 用組件創建一個功能模組 518
21.4 小結 521
第22章 創建示例項目 523
22.1 啟動示例項目 523
22.2 添加和配置包 524
22.2.1 配置TypeScript 525
22.2.2 配置HTTP開發伺服器 525
22.3 創建模型模組 526
22.3.1 創建產品數據類型 526
22.3.2 創建數據源和存儲庫 526
22.3.3 完成模型模組 528
22.4 創建核心模組 528
22.4.1 創建共享狀態服務 528
22.4.2 創建表格組件 529
22.4.3 創建表單組件 531
22.4.4 完成核心模組 533
22.5 創建訊息模組 533
22.5.1 創建訊息模型和服務 533
22.5.2 創建組件和模板 534
22.5.3 完成訊息模組 535
22.6 完成項目 535
22.6.1 創建Angular引導程式 536
22.6.2 創建HTML文檔 536
22.7 運行示例項目 537
22.8 小結 538
第23章 使用Reactive Extensions 539
23.1 準備示例項目 540
23.2 理解問題 540
23.3 使用Reactive Extensions解決問題 543
23.3.1 理解Observable 544
23.3.2 理解Observer 545
23.3.3 理解Subject 547
23.4 使用async管道 548
23.5 擴展應用程式功能模組 551
23.6 基礎之上更進一步 553
23.6.1 過濾事件 554
23.6.2 轉換事件 555
23.6.3 只接收不同的事件 558
23.6.4 獲取和忽略事件 560
23.7 小結 561
第24章 生成異步HTTP請求 563
24.1 準備示例項目 564
24.1.1 配置模型功能模組 565
24.1.2 更新表單組件 566
24.1.3 運行示例項目 567
24.2 理解RESTful Web服務 568
24.3 替換靜態數據源 569
24.3.1 創建新的數據源服務 569
24.3.2 配置數據源 572
24.3.3 使用REST數據源 572
24.3.4 保存和刪除數據 574
24.4 加強HTTP請求 576
24.5 生成跨域請求 578
24.6 配置請求頭 581
24.7 處理錯誤 584
24.7.1 生成用戶可以使用的訊息 585
24.7.2 處理錯誤 586
24.8 小結 588
第25章 路由和導航:第1部分 589
25.1 準備示例項目 590
25.2 開始學習路由 593
25.2.1 創建路由配置 594
25.2.2 創建路由組件 595
25.2.3 更新根模組 596
25.2.4 完成配置 596
25.2.5 添加導航連結 597
25.2.6 理解路由的效果 600
25.3 完成路由實現 602
25.3.1 在組件中處理路由變化 602
25.3.2 使用路由參數 605
25.3.3 在代碼中導航 611
25.3.4 接收導航事件 614
25.3.5 刪除事件綁定和支持代碼 615
25.4 小結 618
第26章 路由與導航:第2部分 619
26.1 準備示例項目 619
26.2 使用通配符和重定向 626
26.2.1 在路由中使用通配符 626
26.2.2 在路由中使用重定向 628
26.3 在組件內部導航 630
26.3.1 回響正在發生的路由變化 631
26.3.2 為活動路由設定不同樣式的連結 633
26.3.3 修復All按鈕 636
26.4 創建子路由 637
26.4.1 創建子路由出口 638
26.4.2 從子路由訪問參數 640
26.5 小結 644
第27章 路由與導航:第3部分 645
27.1 準備示例項目 645
27.2 守衛路由 647
27.2.1 使用解析器推遲導航 647
27.2.2 避免帶有守衛的導航 654
27.3 動態載入功能模組 667
27.3.1 創建一個簡單的功能模組 667
27.3.2 動態載入模組 669
27.3.3 守衛動態模組 672
27.4 指定命名出口 675
27.4.1 創建附加的出口元素 676
27.4.2 在使用多個出口的情況下導航 678
27.5 小結 680
第28章 使用動畫 681
28.1 準備示例項目 682
28.1.1 添加動畫polyfill 682
28.1.2 禁用HTTP延遲 685
28.1.3 簡化表格模板和路由配置 686
28.2 開始學習Angular動畫 688
28.2.1 創建動畫 688
28.2.2 套用動畫 691
28.2.3 測試動畫效果 694
28.3 理解內置的動畫狀態 696
28.4 理解元素過渡 697
28.4.1 為內置狀態創建遷移 697
28.4.2 控制動畫過渡 699
28.5 理解動畫樣式分組 704
28.5.1 在可重用分組中定義公共樣式 704
28.5.2 使用元素變形 705
28.5.3 套用CSS框架樣式 707
28.6 理解動畫觸發器事件 709
28.7 小結 712
第29章 Angular單元測試 713
29.1 準備示例項目 714
29.1.1 添加測試包 715
29.1.2 創建一個簡單的單元測試 719
29.1.3 啟動工具 719
29.2 使用Jasmine完成單元測試 721
29.3 測試Angular組件 722
29.3.1 使用TestBed類完成工作 722
29.3.2 測試數據綁定 726
29.3.3 測試帶有外部模板的組件 728
29.3.4 測試組件事件 730
29.3.5 測試輸出屬性 732
29.3.6 測試輸入屬性 734
29.3.7 測試異步操作 736
29.4 測試Angular指令 739
29.5 小結 740

相關詞條

熱門詞條

聯絡我們