《揭秘Angular 2》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:广发证券互联网金融技术团队著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121306501
  • 页数:480 页
图书介绍:AngularJS诞生于Google,已用于开发多款Google产品。它是一套JavaScript前端框架,用于开发当下流行的数据驱动的单页面Web应用。其核心特性是:MVC、模块化、自动双向数据绑定、语义化标签、依赖注入等。《揭秘 Angular 2》讲解了Angular 2的开发概念和原理,并通过丰富的开发实例向读者展示了构建复杂应用的完整过程,包括学习使用Angular 2特有的基于DOM的模板系统,实现复杂的后端通信,创建漂亮的表单,制作导航,使用依赖注入系统,提高Web应用的安全性,等等。

第一部分 入门篇 2

1 前端风云 2

1.1 故事的起点 2

1.2 AJAX王者归来 3

1.3 工具库的流行 3

1.4 百家争鸣 3

1.5 走进前端新时代 4

1.6 小结 6

2 Angular简介 7

2.1 历史回顾 7

2.1.1 AngularJS 1.x起源 7

2.1.2 AngularJS 1.x迭代之路 8

2.1.3 初生的Angular2 9

2.1.4 快速发展的Angular 2 10

2.1.5 开发语言之选 11

2.2 Angular 2简述 12

2.2.1 核心概念 12

2.2.2 平台简介 14

2.2.3 平台亮点 16

2.3 小结 17

3 TypeScript入门 18

3.1 TypeScript概述 18

3.1.1 概述 18

3.1.2 安装 19

3.2 基本类型 20

3.2.1 布尔类型 20

3.2.2 数字类型 20

3.2.3 字符串类型 21

3.2.4 数组类型 21

3.2.5 元组类型 21

3.2.6 枚举类型 21

3.2.7 任意值类型 22

3.2.8 null和undefined 22

3.2.9 void类型 23

3.2.10 never类型 24

3.3 声明和解构 24

3.3.1 let声明 25

3.3.2 const声明 26

3.3.3 解构 26

3.4 函数 28

3.4.1 函数定义 28

3.4.2 可选参数 28

3.4.3 默认参数 29

3.4.4 剩余参数 30

3.4.5 函数重载 30

3.4.6 箭头函数 31

3.5 类 32

3.5.1 类的例子 32

3.5.2 继承与多态 32

3.5.3 修饰符 33

3.5.4 参数属性 35

3.5.5 静态属性 35

3.5.6 抽象类 36

3.6 模块 37

3.6.1 概述 37

3.6.2 模块导出方式 37

3.6.3 模块导入方式 38

3.6.4 模块的默认导出 39

3.6.5 模块设计原则 40

3.7 接口 42

3.7.1 概述 42

3.7.2 属性类型接口 42

3.7.3 函数类型接口 43

3.7.4 可索引类型接口 44

3.7.5 类类型接口 44

3.7.6 接口扩展 45

3.8 装饰器 46

3.8.1 概述 46

3.8.2 方法装饰器 47

3.8.3 类装饰器 48

3.8.4 参数装饰器 50

3.8.5 属性装饰器 51

3.8.6 装饰器组合 51

3.9 泛型 53

3.10 TypeScript周边 54

3.10.1 编译配置文件 54

3.10.2 声明文件 55

3.10.3 编码工具 56

3.10.4 展望未来 57

3.11 小结 57

4 快速入门 58

4.1 Hello World例子 58

4.1.1 准备工作 58

4.1.2 搭建步骤 59

4.2 通讯录例子 66

4.2.1 背景介绍 66

4.2.2 架构设计 68

4.3 小结 74

第二部分 深入篇 76

5 Angular架构总览 76

5.1 核心模块介绍 76

5.1.1 组件 77

5.1.2 模板 81

5.1.3 指令 82

5.1.4 服务 83

5.1.5 依赖注入 84

5.1.6 路由 86

5.2 应用模块 88

5.3 源码结构介绍 91

5.4 小结 93

6 组件 94

6.1 概述 94

6.1.1 模块化介绍 94

6.1.2 组件化标准 96

6.1.3 Angular的组件 100

6.2 组件基础 100

6.2.1 创建组件的步骤 100

6.2.2 组件基础构成 102

6.2.3 组件与模块 108

6.3 组件交互 113

6.3.1 组件的输入输出属性 114

6.3.2 父组件向子组件传递数据 115

6.3.3 子组件向父组件传递数据 120

6.3.4 其他组件交互方式 122

6.4 组件内容嵌入 124

6.5 组件生命周期 128

6.5.1 概述 128

6.5.2 生命周期钩子 128

6.6 变化监测 131

6.6.1 数据变化的源头 131

6.6.2 变动通知机制 132

6.6.3 变化监测的响应处理 133

6.7 扩展阅读 139

6.7.1 元数据一览表 139

6.7.2 元数据说明 139

6.7.3 深入理解Zones 149

6.8 小结 155

7 模板 156

7.1 模板语法概览 156

7.2 数据绑定 158

7.2.1 概述 158

7.2.2 插值 160

7.2.3 模板表达式 160

7.2.4 属性绑定 162

7.2.5 事件绑定 165

7.2.6 双向数据绑定 168

7.2.7 输入和输出属性 169

7.3 内置指令 170

7.3.1 NgClass 170

7.3.2 NgStyle 170

7.3.3 NgIf 171

7.3.4 NgSwitch 172

7.3.5 NgFor 172

7.4 表单 173

7.4.1 模板表单例子 174

7.4.2 表单指令 175

7.4.3 自定义表单样式 184

7.4.4 表单校验 185

7.5 管道 188

7.5.1 管道介绍 189

7.5.2 内置管道 189

7.5.3 自定义管道 195

7.5.4 管道的变化监测 197

7.6 扩展阅读 201

7.6.1 安全导航操作符 201

7.6.2 双向绑定的原理 201

7.7 小结 204

8 指令 205

8.1 概述 205

8.1.1 指令分类 207

8.1.2 内置指令 209

8.2 自定义属性指令 218

8.2.1 实现属性指令 218

8.2.2 为指令绑定输入 220

8.2.3 响应用户操作 222

8.3 自定义结构指令 223

8.3.1 实现结构指令 223

8.3.2 模板标签与星号前缀 226

8.3.3 NgIf指令原理 227

8.4 扩展阅读 230

8.5 小结 234

9 服务与RxJS 236

9.1 Angular服务 236

9.1.1 概述 236

9.1.2 使用场景 237

9.2 HTTP服务 241

9.2.1 AJAX介绍 242

9.2.2 JSONP介绍 248

9.2.3 HttpModule 249

9.3 响应式编程 253

9.3.1 概述 253

9.3.2 ReactiveX 255

9.4 RxJS 257

9.4.1 创建Observable对象 257

9.4.2 使用RxJS处理复杂场景 257

9.4.3 RxJS和Promise的对比 258

9.4.4 “冷”模式下的Observable 259

9.4.5 RxJS中的Operator 260

9.4.6 Angular中的RxJS 264

9.5 小结 268

10 依赖注入 269

10.1 依赖注入介绍 270

10.2 Angular依赖注入 273

10.2.1 概述 273

10.2.2 在组件中注入服务 275

10.2.3 在服务中注入服务 277

10.2.4 在模块中注入服务 279

10.2.5 层级注入 281

10.2.6 注入到派生组件 285

10.2.7 限定方式的依赖注入 287

10.3 Provider 291

10.3.1 概述 291

10.3.2 Provider注册方式 292

10.4 扩展阅读 296

10.5 小结 298

11 路由 299

11.1 概述 299

11.2 基本用法 301

11.2.1 路由配置 301

11.2.2 创建根路由模块 302

11.2.3 添加RouterOutlet指令 302

11.3 路由策略 303

11.3.1 HashLocationStrategy介绍 304

11.3.2 PathLocationStrategy介绍 305

11.4 路由跳转 306

11.4.1 使用指令跳转 307

11.4.2 使用代码跳转 309

11.5 路由参数 311

11.5.1 Path参数 311

11.5.2 Query参数 314

11.5.3 Matrix参数 316

11.6 子路由和附属Outlet 316

11.6.1 子路由 316

11.6.2 附属Outlet 318

11.7 路由拦截 319

11.7.1 激活拦截与反激活拦截 320

11.7.2 数据预加载拦截 324

11.8 模块的延迟加载 326

11.8.1 延迟加载实现 327

11.8.2 模块加载拦截 328

11.9 小结 330

12 测试 331

12.1 概述 331

12.2 单元测试 332

12.2.1 概述 332

12.2.2 常用测试框架 333

12.2.3 Jasmine介绍 333

12.2.4 Karma介绍 337

12.2.5 Karma结合Jasmine测试 338

12.3 Angular单元测试 342

12.3.1 概述 342

12.3.2 独立单元测试 347

12.3.3 测试工具集 351

12.4 端到端测试 359

12.4.1 概述 359

12.4.2 Protractor介绍 360

12.5 小结 363

第三部分 实战篇 366

13 问卷调查系统简介 366

13.1 项目背景 366

13.2 主要特性 367

13.2.1 首页和帮助页 369

13.2.2 问卷编辑页 369

13.2.3 我的问卷页 369

13.2.4 用户管理页 369

13.3 产品设计 369

13.4 小结 371

14 项目起步 372

14.1 技术选型 372

14.1.1 前端脚手架 372

14.1.2 UI样式库 373

14.1.3 后端服务器 374

14.2 环境搭建 374

14.2.1 搭建脚手架 374

14.2.2 引入样式库 377

14.2.3 搭建后台环境 378

14.3 目录结构介绍 380

14.4 首页开发 384

14.5 小结 388

15 问卷编辑模块 389

15.1 概述 389

15.1.1 功能设计 389

15.1.2 数据模型 391

15.2 问卷编辑模块开发 393

15.2.1 问题选择组件 394

15.2.2 问题组件 398

15.2.3 问卷组件 408

15.2.4 问卷服务 415

15.2.5 问卷大纲 422

15.3 小结 425

16 我的问卷模块 426

16.1 问卷列表 427

16.1.1 问卷列表项 428

16.1.2 显示问卷列表 429

16.1.3 显示问卷详情 431

16.2 问卷操作 433

16.2.1 修改路由配置 434

16.2.2 发布后的问卷页面 436

16.2.3 问卷操作组件 439

16.3 小结 442

17 用户管理模块 443

17.1 开发简单注册页 444

17.2 表单控件组件 446

17.2.1 定义表单控件 446

17.2.2 校验表单控件 447

17.2.3 表单安全 450

17.3 用户注册功能开发 451

17.3.1 用户注册服务 451

17.3.2 组件的逻辑 453

17.3.3 注册接口开发 455

17.4 权限管理 456

17.5 小结 460

18 项目构建和最佳实践 461

18.1 项目构建 461

18.1.1 代码质量检查 461

18.1.2 测试 463

18.1.3 打包 465

18.1.4 容器化 467

18.2 最佳实践 468

18.2.1 单一职责 468

18.2.2 命名约定 469

18.2.3 编码约定 471

18.2.4 应用结构约定 474

18.2.5 组件相关约定 475

18.2.6 指令相关约定 478

18.2.7 服务相关约定 478

18.2.8 其他 479

18.3 小结 480