本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
基本信息
书名:Angular 5 编程(第2版)
定价:128.00元
作者:[美] Adam Freeman 著 杨明军 颜炯 等译
出版社:清华大学出版社
出版日期:2018-01-01
ISBN:9787302491170
字数:
页码:
版次:
装帧:平装-胶订
开本:16开
商品重量:
内容提要
《Angular 5 编程(第2版)》内容已经全面更新到*版Angular 5!本书将告知读者如何充分利用的一体化框架Angular 5来构建动态的应用程序。书作家Adam Freeman首先介绍了MVC模式及其优势,然后展示了如何在项目中使用Angular框架,从*基本的功能开始,逐步建立*和复杂的功能,深入理解开发Angular应用程序所需的知识。 《Angular 5 编程(第2版)》对每个主题的诠释都常清晰且简洁凝练,并且含大量能够助你学以致用的细节,以务实的视角深入讨论Angular框架*重要的一些功能,每章都括常见问题并详细讲解如何避免这些问题发生。《Angular 5 编程(第2版)》特色:● 如何在架构层面深入理解MVC模式● 如何使用Angular 5创建丰富而动态的Web应用程序客户端● 如何扩展和定制Angular 5● 如何测试Angular 5项目
作者介绍
Adam Freeman是一位经验丰富的IT人士,曾在一系列公担任过职位,曾经担任一家银行的首席技术官和首席运营官。退休之后,他热衷于写作和长跑。
目录
■?■?■
章 准备工作 1
1.1 需要了解什么 1
1.2 本书结构 1
1.2.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 启动服务器
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章 与TypeScript:
部分 69
5.1 准备示例项目 70
5.1.1 创建HTML和
文件 71
5.1.2 配置TypeScript编译器 72
5.1.3 运行示例项目 72
5.2 理解script元素 73
5.2.1 使用模块
加载器 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 使用操作符 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章 与TypeScript:
第2部分 93
6.1 准备示例项目 93
6.2 使用对象 94
6.2.1 使用对象字面量 95
6.2.2 将函数用作方法 95
6.2.3 定义类 96
6.3 处理模块 99
6.3.1 创建模块 99
6.3.2 从模块导入 0
6.4 有用的TypeScript特性 3
6.4.1 使用类型注解 3
6.4.2 使用元组 9
6.4.3 使用可索引类型 9
6.4.4 使用访问修饰符 1
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
第章 SportsStore:部署 197
.1 准备部署应用程序 197
.2 将SportsStore应用程序
容器化 197
.2.1安装Docker 197
.2.2准备应用程序 198
.2.3创建Docker容器 199
.2.4运行应用程序 200
.3 本章小结 201
1章 创建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配置模块
加载器 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
2章 使用数据绑定 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
3章 使用内置指令 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
4章 使用事件和表单 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
5章 创建属性指令 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
6章 创建结构型指令 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
7章理解组件 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 查询模板内容 4
17.5 本章小结 412
8章 使用和创建管道 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
9章 使用服务 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章 路由和导航:部分 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
编辑
暂无相关内容