• 封面
  • 版权信息
  • 推荐序
  • 译者序
  • 第1章 编写你的第一个Angular Web应用
  • 1.1 仿制Reddit网站
  • 1.2 起步
  • 1.3 运行应用
  • 1.4 把数据添加到组件中
  • 1.5 使用数组
  • 1.6 使用UserItemComponent组件
  • 1.7 “启动”速成班
  • 1.8 扩展你的应用
  • 1.9 渲染多行
  • 1.10 添加新文章
  • 1.11 最后的修整
  • 1.12 全部代码
  • 1.13 总结
  • 1.14 获得帮助
  • 第2章 TypeScript
  • 2.1 Angular是用TypeScript构建的
  • 2.2 TypeScript提供了哪些特性
  • 2.3 类型
  • 2.4 内置类型
  • 2.5 类
  • 2.6 工具
  • 2.7 总结
  • 第3章 Angular的工作原理
  • 3.1 应用
  • 3.2 产品数据模型
  • 3.3 组件
  • 3.4 组件注解
  • 3.5 产品列表组件
  • 3.6 产品条目组件
  • 3.7 产品图片组件
  • 3.8 价格展示组件
  • 3.9 产品分类组件
  • 3.10 创建NgModule并启动应用
  • 3.11 完整的项目
  • 3.12 关于数据架构的一点说明
  • 第4章 内置指令
  • 4.1 简介
  • 4.2 ngIf
  • 4.3 ngSwitch
  • 4.4 ngStyle
  • 4.5 ngClass
  • 4.6 ngFor
  • 4.7 ngNonBindable
  • 4.8 总结
  • 第5章 Angular中的表单
  • 5.1 表单——既重要,又复杂
  • 5.2 FormControl和FormGroup
  • 5.3 我们的第一个表单
  • 5.4 使用FormBuilder
  • 5.5 响应式表单FormBuilder
  • 5.6 添加验证
  • 5.7 监听变化
  • 5.8 ngModel
  • 5.9 总结
  • 第6章 HTTP
  • 6.1 简介
  • 6.2 使用 @angular/http
  • 6.3 基本请求
  • 6.4 编写YouTubeSearchComponent
  • 6.5 @angular/http API
  • 6.6 总结
  • 第7章 路由
  • 7.1 为什么需要路由
  • 7.2 客户端路由的工作原理
  • 7.3 编写第一个路由配置
  • 7.4 Angular路由的组成部件
  • 7.5 整合
  • 7.6 路由策略
  • 7.7 路径定位策略
  • 7.8 运行应用程序
  • 7.9 路由参数
  • 7.10 音乐搜索应用
  • 7.11 路由器钩子
  • 7.12 嵌套路由
  • 7.13 总结
  • 第8章 依赖注入
  • 8.1 注入示例:PriceService
  • 8.2 “别打给我们……”
  • 8.3 依赖注入的部件
  • 8.4 尝试注入器
  • 8.5 用NgModule提供依赖
  • 8.6 提供者
  • 8.7 应用中的依赖注入
  • 8.8 使用注入器
  • 8.9 替换值
  • 8.10 NgModule
  • 8.11 总结
  • 第9章 Angular数据架构
  • 数据架构概览
  • 第10章 使用可观察对象的数据架构,第1部分:服务
  • 10.1 可观察对象和RxJS
  • 10.2 聊天应用概览
  • 10.3 实现数据模型
  • 10.4 实现UserService
  • 10.5 MessagesService
  • 10.6 ThreadsService
  • 10.7 总结
  • 第11章 使用可观察对象的数据架构,第2部分:视图组件
  • 11.1 构建视图:顶层组件ChatApp
  • 11.2 ChatThreads组件
  • 11.3 单个ChatThread组件
  • 11.4 ChatWindow组件
  • 11.5 ChatMessage组件
  • 11.6 ChatNavBar组件
  • 11.7 总结
  • 11.8 更进一步
  • 第12章 基于TypeScript的Redux简介
  • 12.1 Redux
  • 12.2 Redux核心概念
  • 12.3 保存state
  • 12.4 消息应用
  • 12.5 在Angular中使用Redux
  • 12.6 规划应用
  • 12.7 组建Redux
  • 12.8 CounterApp组件
  • 12.9 提供store
  • 12.10 启动应用
  • 12.11 CounterComponent
  • 12.12 更进一步
  • 12.13 参考资源
  • 第13章 在Angular中引入Redux
  • 13.1 阅读背景
  • 13.2 聊天应用概览
  • 13.3 实现数据模型
  • 13.4 应用的state
  • 13.5 构建reducer(和action creator)
  • 13.6 构建Angular聊天应用
  • 13.7 构建ChatNavBar
  • 13.8 构建ChatThreads组件
  • 13.9 单个ChatThread组件
  • 13.10 构建ChatWindow组件
  • 13.11 ChatMessage组件
  • 13.12 总结
  • 第14章 高级组件
  • 14.1 样式
  • 14.2 创建popup指令:引用并修改宿主元素
  • 14.3 使用内容投影创建消息面板
  • 14.4 查询相邻的指令:编写标签页
  • 14.5 生命周期钩子
  • 14.6 高级模板
  • 14.7 变更检测
  • 14.8 总结
  • 第15章 测试
  • 15.1 测试驱动?
  • 15.2 端对端测试与单元测试
  • 15.3 测试工具
  • 15.4 编写单元测试
  • 15.5 Angular单元测试框架
  • 15.6 测试前准备
  • 15.7 测试服务类和HTTP
  • 15.8 测试组件间的路由
  • 15.9 回到测试代码
  • 15.10 测试表单
  • 15.11 测试HTTP请求
  • 15.12 总结
  • 第16章 把AngularJS应用升级到Angular
  • 16.1 周边概念
  • 16.2 我们要构建什么
  • 16.3 把AngularJS映射到Angular
  • 16.4 关于互操作性的需求
  • 16.5 AngularJS应用
  • 16.6 构建混合式应用
  • 16.7 总结
  • 16.8 参考资源