第 1章 初识Angulart1
1.1 JavaScript的诞生t1
1.2 AngularJS的诞生t1
1.3 从AngularJS到Angular 2t2
1.4 从Angular 2到Angulart2
1.5 Angular是一个框架t3
1.6 小结t4
第 2章 准备工作t5
2.1 跨平台的开发环境t5
2.1.1 Node.jst5
2.1.2 Visual Studio Codet8
2.1.3 TypeScript编译器t10
2.1.4 调试TypeScript代码t14
2.1.5 Expresst18
2.2 了解模块t22
2.2.1 通用模块t22
2.2.2 ECMAScript模块t31
2.3 小结t33
第3章 TypeScript语法基础t34
3.1 基础概念t34
3.1.1 模块t34
3.1.2 变量和常量t39
3.1.3 基础类型t41
3.1.4 类型断言t51
3.2 函数t53
3.2.1 函数参数t53
3.2.2 函数的返回类型t57
3.2.3 函数类型t58
3.2.4 函数的重载t63
3.2.5 箭头函数t64
3.3 类t67
3.3.1 实例成员t68
3.3.2 静态成员t73
3.3.3 可选成员t76
3.3.4 索引t78
3.3.5 继承t79
3.3.6 可访问性t86
3.3.7 抽象类t92
3.4 小结t95
第4章 TypeScript进阶t96
4.1 类型和接口t96
4.1.1 常用类型t96
4.1.2 特殊类型t104
4.1.3 接口t107
4.1.4 运行时类型判断t113
4.2 泛型t120
4.2.1 泛型函数t121
4.2.2 泛型类t122
4.2.3 泛型接口t125
4.2.4 类型推断t127
4.2.5 类型约束t128
4.3 装饰器t129
4.3.1 元数据t130
4.3.2 reflect-metadatat134
4.3.3 属性装饰器t137
4.3.4 类装饰器t142
4.3.5 其他装饰器t153
4.3.6 装饰器工厂t155
4.4 小结t160
第5章 TypeScript补充t161
5.1 模块t161
5.1.1 导出t161
5.1.2 导入t164
5.1.3 模块解析t168
5.1.4 模块扩展t176
5.2 命名空间t178
5.2.1 全局命名空间t179
5.2.2 模块内的命名空间t181
5.2.3 global扩展t183
5.2.4 Node.js全局作用域t188
5.3 声明文件t191
5.3.1 环境上下文t192
5.3.2 编写声明文件t194
5.3.3 环境模块t198
5.3.4 使用JavaScript包t200
5.3.5 TypeScript库t205
5.4 项目配置t208
5.5 小结t209
第6章 Angular基础概念t210
6.1 Angular应用程序的组成部分t210
6.1.1 组件t211
6.1.2 模板t212
6.1.3 数据绑定t213
6.1.4 服务t214
6.1.5 指令t215
6.1.6 管道t216
6.1.7 模块t217
6.2 创建一个Angular应用程序t218
6.2.1 准备工作t219
6.2.2 编写应用程序代码t224
6.2.3 启动应用程序t229
6.2.4 创建过程回顾t235
6.3 Angular和MVCt236
6.3.1 MVCt236
6.3.2 MVVMt238
6.3.3 Angular中的MVCt238
6.4 小结t240
第7章 天天菜园:一个真实的Angular应用程序t241
7.1 创建项目t241
7.2 服务:领域模型t245
7.3 组件:应用逻辑t246
7.4 模板:展示逻辑t248
7.4.1 指令t249
7.4.2 数据绑定t250
7.4.3 管道t265
7.5 完善t268
7.5.1 MVC目录t268
7.5.2 常用指令t269
7.5.3 Bootstrapt277
7.5.4 根视图t281
7.6 小结t285
第8章 天天菜园:商品展示t286
8.1 创建商品细节视图t286
8.1.1 重构商品服务t286
8.1.2 创建商品细节组件t287
8.1.3 创建商品细节模板和样式t288
8.1.4 封装商品细节组件t289
8.2 路由器:构建单页面应用程序t290
8.2.1 安装和配置路由器包t291
8.2.2 注册路由项t292
8.2.3 使用路由器链接指令t294
8.2.4 设置路由器出口t295
8.2.5 设置标签t296
8.2.6 刷新商品细节视图t298
8.2.7 美化商品细节视图t300
8.3 领域模块:划分领域t304
8.3.1 创建商品领域目录t304
8.3.2 转移商品领域代码t305
8.3.3 创建商品领域模块t306
8.3.4 导入商品领域模块到根模块t307
8.3.5 导入Angular模块到商品领域模块t307
8.4 路由配置模块:配置领域路由t308
8.4.1 创建商品领域路由配置模块t310
8.4.2 导入商品领域路由配置模块到商品领域模块t311
8.4.3 创建应用程序根路由配置模块t312
8.4.4 导入应用程序根路由配置模块到应用程序根模块t312
8.5 依赖注入:管理服务t313
8.5.1 注册商品服务t314
8.5.2 为商品列表组件注入商品服务t316
8.5.3 为商品细节组件注入商品服务t317
8.6 综合运用:传递业务参数t318
8.6.1 附加商品ID到目标patht318
8.6.2 配置匹配商品ID的路由参数t319
8.6.3 获取目标path中的商品IDt320
8.6.4 完善t323
8.7 小结t324
第9章 天天菜园:客户中心(上)t325
9.1 客户领域模块:复习巩固t325
9.1.1 创建客户领域目录t325
9.1.2 创建客户领域模型t326
9.1.3 创建客户组件t328
9.1.4 创建视图相关文件t331
9.1.5 创建客户领域路由配置模块t334
9.1.6 创建客户领域模块t335
9.1.7 导入客户领域模块到根模块t336
9.1.8 导航到客户视图t337
9.2 路由加载模块:提高应用程序启动效率t338
9.2.1 路由加载客户领域模块t339
9.2.2 重新导航到客户视图t341
9.2.3 模块和依赖注入器t343
9.3 表单(上):双向数据绑定t347
9.3.1 安装和配置表单包t347
9.3.2 导入表单模块到客户领域模块t348
9.3.3 提交客户表单t349
9.3.4 绑定客户表单t351
9.3.5 进行注册和登录t356
9.4 小结t357
第 10章 天天菜园:客户中心(下)t358
10.1 表单(下):验证用户输入t358
10.1.1 客户表单验证t358
10.1.2 提示表单验证规则t365
10.2 Web API:真实的服务端t375
10.2.1 Web API列表t375
10.2.2 Web API实现t378
10.2.3 Web API注册t381
10.2.4 获取请求体t383
10.3 HttpClient:与Web服务端通信t384
10.3.1 重构客户服务t385
10.3.2 重构客户组件t396
10.3.3 重构商品服务t399
10.3.4 重构商品组件t401
10.4 小结t402
第 11章 天天菜园:购物车t404
11.1 Web API:服务端支持t404
11.1.1 Web API列表t404
11.1.2 Web API实现t409
11.1.3 Web API注册t415
11.2 重构商品领域模块:添加商品到购物车t417
11.2.1 重构商品领域模块t417
11.2.2 重构商品服务t417
11.2.3 重构商品细节组件t418
11.2.4 重构商品细节模板t419
11.2.5 重构商品细节样式t420
11.3 购物车领域模块:一次完整的领域实现体验t421
11.3.1 创建购物车领域目录t422
11.3.2 创建购物车领域模型t422
11.3.3 创建购物车组件t424
11.3.4 创建购物车视图文件t427
11.3.5 创建购物车领域路由配置模块t430
11.3.6 创建购物车领域模块t430
11.3.7 加载购物车领域模块t431
11.3.8 导航到购物车视图t432
11.4 事件绑定:处理用户交互t433
11.4.1 增加或减少购物车商品数量t434
11.4.2 删除购物车商品t436
11.4.3 直接修改购物车商品数量t437
11.5 嵌套组件:构建复杂应用程序t441
11.5.1 重构商品服务t442
11.5.2 重构商品列表组件t442
11.5.3 重构商品列表模板t443
11.5.4 传递搜索参数t444
11.5.5 创建商品搜索组件t446
11.5.6 重构购物车领域模块t448
11.5.7 显示商品搜索视图t448
11.5.8 强化商品搜索组件t450
11.6 小结t453
第 12章 天天菜园:完善(上)t455
12.1 部件模块:封装共享组件t455
12.2 Subject:模块间通信t463
12.2.1 同步购物车商品总数(上)t464
12.2.2 同步购物车商品总数(中)t468
12.2.3 Observable vs. Subject t470
12.3 服务模块:封装共享服务t482
12.3.1 同步购物车商品总数(下)t482
12.3.2 同步登录客户姓名t485
12.3.3 完善同步t489
12.3.4 五种特性模块的比较t493
12.4 小结t493
第 13章 天天菜园:完善(下)t494
13.1 保护购物车视图t494
13.1.1 创建路由守卫t494
13.1.2 注册路由守卫t496
13.1.3 应用路由守卫t496
13.2 保护登录客户元素t497
13.2.1 创建登录验证指令t497
13.2.2 封装登录验证指令t498
13.2.3 运用登录验证指令t499
13.3 共享消息提示t500
13.3.1 创建消息提示服务t501
13.3.2 注册消息提示服务t501
13.3.3 创建消息提示组件t502
13.3.4 封装消息提示组件t503
13.3.5 发送提示消息t504
13.3.6 显示提示消息t505
13.4 简化消息提示t507
13.4.1 创建消息提示组件t507
13.4.2 重构消息提示服务t508
13.4.3 创建UI服务模块t510
13.4.4 导入UI服务模块到根模块t511
13.4.5 显示消息提示t511
13.5 确认提示t514
13.5.1 创建确认提示组件t514
13.5.2 创建确认提示服务t515
13.5.3 注册确认提示服务t517
13.5.4 显示确认提示t517
13.6 动画t519
13.6.1 安装Angular动画包t519
13.6.2 搜索按钮动画t520
13.6.3 购物车商品删除动画t524
13.6.4 路由过渡动画t531
13.7 小结t538
第 14章 使用Angular CLIt539
14.1 构建已有应用程序t540
14.1.1 安装Angular CLIt540
14.1.2 安装Angular编译器t540
14.1.3 选择要打包的垫片t541
14.1.4 创建Angular工作空间配置文件t542
14.1.5 不执行预先编译的构建t544
14.1.6 执行预先编译的构建t551
14.1.7 用于生产的构建t553
14.1.8 完善t556
14.2 开发新的应用程序t558
14.2.1 创建应用程序t558
14.2.2 启动应用程序t564
14.2.3 添加功能t565
14.2.4 使用语言服务t572
14.2.5 构建应用程序t573
14.3 小结t574
......
评论晒单