当前位置:首页 > 工业技术
Web开发经典丛书  Angular 高级编程  第3版
Web开发经典丛书  Angular 高级编程  第3版

Web开发经典丛书 Angular 高级编程 第3版PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)亚当·弗雷曼著;睢丹译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302529170
  • 页数:532 页
图书介绍:本书演示如何在项目充分利用领先的一体化框架Angular 6来构建动态JavaScript应用程序,介绍MVC模式及其优势。从基本功能讲起,逐步讲述高级和复杂的功能,呈现深入理解开发Angular应用程序所需的知识。本书简洁凝练,清晰诠释每个主题,不放过任何有用的细节,从务实的视角深入探讨一些最重要的Angular 功能,并列出常见问题和解决办法。
《Web开发经典丛书 Angular 高级编程 第3版》目录

第Ⅰ部分 Angular基础知识 3

第1章 准备工作 3

1.1 需要了解什么 3

1.2 本书结构 3

1.2.1 第Ⅰ部分:Angular基础知识 3

1.2.2 第Ⅱ部分:Angular详解 3

1.2.3 第Ⅲ部分:Angular高级功能 3

1.3 大量示例 4

1.4 获取示例代码 5

1.5 如何搭建开发环境 5

1.6 联系作者 5

1.7 本章小结 5

第2章 第一个Angular应用程序 7

2.1 准备开发环境 7

2.1.1 安装Node.js 7

2.1.2 安装angular-cli包 8

2.1.3 安装Git 8

2.1.4 安装编辑器 8

2.1.5 安装浏览器 9

2.2 创建并准备项目 9

2.2.1 创建项目 9

2.2.2 添加Bootstrap CSS包 9

2.2.3 启动开发工具 10

2.2.4 编辑HTML文件 10

2.3 向项目中添加Angular功能 12

2.3.1 准备HTML文件 12

2.3.2 创建数据模型 12

2.3.3 创建模板 14

2.3.4 准备组件 14

2.3.5 将应用程序组合起来 16

2.4 向示例应用程序中添加功能 17

2.4.1 添加待办事项表格 17

2.4.2 创建双向数据绑定 19

2.4.3 添加待办事项 21

2.5 本章小结 23

第3章 将Angular放在上下文中 25

3.1 理解Angular的强项 25

3.1.1 往返式应用程序和单页式应用程序 25

3.1.2 Angular与jQuery的比较 26

3.2 比较Angular、React和Vue.js 27

3.3 理解MVC模式 27

3.3.1 理解模型 28

3.3.2 理解控制器/组件 29

3.3.3 理解视图/模板 30

3.4 理解RESTful服务 30

3.5 常见的设计缺陷 31

3.5.1 将逻辑放错地方 31

3.5.2 数据存储采用的数据格式 32

3.5.3 足够的知识足以制造麻烦 32

3.6 本章小结 32

第4章 HTML和CSS入门 33

4.1 准备示例项目 33

4.2 理解HTML 34

4.2.1 理解空元素 35

4.2.2 理解属性 35

4.2.3 应用无值属性 35

4.2.4 在属性中引用字面量 35

4.2.5 理解元素内容 36

4.2.6 理解文档结构 36

4.3 理解Bootstrap 37

4.3.1 应用基本的Bootstrap类 37

4.3.2 使用Bootstrap样式化表格 40

4.3.3 使用Bootstrap创建表单 41

4.3.4 使用Bootstrap创建网格 42

4.4 本章小结 46

第5章 JavaScript与TypeScript:第1部分 47

5.1 准备示例项目 48

5.2 使用语句 49

5.3 定义和使用函数 50

5.3.1 定义带参数的函数 51

5.3.2 定义返回结果的函数 52

5.3.3 将函数用作其他函数的实参 52

5.4 使用变量和类型 53

5.4.1 使用变量闭包 54

5.4.2 使用基本数据类型 54

5.5 使用JavaScript操作符 56

5.5.1 使用条件语句 56

5.5.2 相等操作符和恒等操作符 57

5.5.3 显式类型转换 58

5.6 处理数组 59

5.6.1 使用数组字面量 59

5.6.2 数组内容的读取和修改 59

5.6.3 遍历数组内容 60

5.6.4 spread操作符 60

5.6.5 使用内置数组方法 61

5.7 本章小结 62

第6章 JavaScript与TypeScript:第2部分 63

6.1 准备示例项目 63

6.2 使用对象 63

6.2.1 使用对象字面量 64

6.2.2 将函数用作方法 64

6.2.3 定义类 65

6.3 处理JavaScript模块 67

6.4 有用的TypeScript特性 70

6.4.1 使用类型注解 70

6.4.2 使用元组 74

6.4.3 使用可索引类型 74

6.4.4 使用访问修饰符 74

6.5 本章小结 75

第7章 SportsStore:一个真实的应用程序 77

7.1 准备项目 77

7.1.1 安装额外的NPM软件包 77

7.1.2 准备RESTful Web服务 78

7.1.3 准备HTML文件 80

7.1.4 创建文件夹结构 80

7.1.5 运行示例应用程序 80

7.1.6 启动RESTful Web服务 81

7.2 准备Angular项目功能 81

7.2.1 更新根组件 81

7.2.2 更新根模块 82

7.2.3 检查引导文件 82

7.3 启动数据模型 83

7.3.1 创建模型类 83

7.3.2 创建虚拟数据源 83

7.3.3 创建模型存储库 84

7.3.4 创建功能模块 85

7.4 启动商店 85

7.4.1 创建Store组件和模板 85

7.4.2 创建商店功能模块 86

7.4.3 更新根组件和根模块 87

7.5 添加商店功能:产品详情 88

7.5.1 显示产品详情 88

7.5.2 添加类别选择 89

7.5.3 添加产品分页功能 90

7.5.4 创建自定义指令 92

7.6 本章小结 95

第8章 SportsStore:订单和结账 97

8.1 准备示例应用程序 97

8.2 创建购物车 97

8.2.1 创建购物车模型 97

8.2.2 创建购物车概览组件 98

8.2.3 将购物车集成到商店中 100

8.3 添加URL路由 102

8.3.1 创建购物车详情和结账组件 102

8.3.2 创建和应用路由配置 103

8.3.3 应用程序导航 104

8.3.4 路由守卫 106

8.4 完成购物车详情功能 107

8.5 处理订单 109

8.5.1 扩展模型 109

8.5.2 收集订单详情 111

8.6 使用RESTful Web服务 114

8.7 本章小结 115

第9章 SportsStore:管理 117

9.1 准备示例应用程序 117

9.1.1 创建模块 117

9.1.2 配置URL路由系统 119

9.1.3 导航到管理URL 120

9.2 实现身份验证 121

9.2.1 理解身份验证系统 121

9.2.2 扩展数据源 122

9.2.3 创建身份验证服务 122

9.2.4 启用身份验证 123

9.3 扩展数据源和存储库 125

9.4 创建管理功能结构 128

9.4.1 创建占位符组件 128

9.4.2 准备常用内容和功能模块 129

9.4.3 实现产品功能 130

9.4.4 实现订单功能 133

9.5 本章小结 135

第10章 SportsStore:渐进式功能和部署 137

10.1 准备示例应用程序 137

10.2 添加渐进式特性 137

10.2.1 安装PWA包 137

10.2.2 缓存数据URL 137

10.2.3 响应对连接的更改 138

10.3 为部署准备应用程序 140

10.3.1 创建数据文件 140

10.3.2 创建服务器 140

10.3.3 更改存储库类中的Web服务URL 142

10.4 构建和测试应用程序 142

10.5 将SportsStore应用程序容器化 144

10.5.1 安装Docker 144

10.5.2 准备应用程序 144

10.5.3 创建Docker容器 144

10.5.4 运行应用程序 145

10.6 本章小结 146

第Ⅱ部分 Angular详解 149

第11章 创建Angular项目 149

11.1 创建新的Angular项目 149

11.2 了解项目结构 150

11.2.1 了解src文件夹 151

11.2.2 了解包文件夹 152

11.3 使用开发工具 154

11.3.1 了解开发HTTP服务器 155

11.3.2 了解热模型替换 155

11.3.3 使用linter 156

11.4 理解Angular应用程序是如何工作的 158

11.4.1 理解HTML文档 158

11.4.2 理解应用程序引导 158

11.4.3 理解Angular根模块 159

11.4.4 理解Angular组件 160

11.4.5 理解内容显示 160

11.5 在Angular项目中开始开发 161

11.5.1 添加Bootstrap CSS框架 161

11.5.2 创建数据模型 161

11.5.3 创建模板和根组件 164

11.5.4 配置根Angular模块 165

11.6 本章小结 165

第12章 使用数据绑定 167

12.1 准备示例项目 167

12.2 理解单向数据绑定 168

12.2.1 理解绑定目标 169

12.2.2 理解表达式 170

12.2.3 理解括号 171

12.2.4 理解宿主元素 171

12.3 使用标准属性和属性绑定 172

12.3.1 使用标准属性绑定 172

12.3.2 使用字符串插入绑定 173

12.3.3 使用元素属性绑定 174

12.4 设置CSS类和样式 174

12.4.1 使用类绑定 175

12.4.2 使用样式绑定 178

12.5 更新应用程序的数据 180

12.6 本章小结 182

第13章 使用内置指令 183

13.1 准备示例项目 183

13.2 使用内置指令 185

13.2.1 使用nglf指令 185

13.2.2 使用ngSwitch指令 187

13.2.3 使用ngFor指令 189

13.2.4 使用ngTemplateOutlet指令 195

13.3 理解单向数据绑定的限制 197

13.3.1 使用幂等表达式 197

13.3.2 理解表达式上下文 199

13.4 本章小结 201

第14章 使用事件和表单 203

14.1 准备示例项目 203

14.1.1 导入表单模块 203

14.1.2 准备组件和模板 204

14.2 使用事件绑定 205

14.2.1 理解动态定义的属性 206

14.2.2 使用事件数据 208

14.2.3 使用模板引用变量 209

14.3 使用双向数据绑定 210

14.4 处理表单 212

14.4.1 向示例应用程序添加表单 213

14.4.2 添加表单数据验证 214

14.4.3 验证整个表单 221

14.5 使用基于模型的表单 226

14.5.1 启用基于模型的表单功能 226

14.5.2 定义表单模型类 226

14.5.3 使用模型进行验证 229

14.5.4 根据模型生成元素 231

14.6 创建自定义表单验证器 232

14.7 本章小结 234

第15章 创建属性指令 235

15.1 准备示例项目 235

15.2 创建简单的属性指令 237

15.3 在指令中访问应用程序数据 239

15.3.1 读取宿主元素属性 239

15.3.2 创建数据绑定输入属性 241

15.3.3 响应输入属性的变化 243

15.4 创建自定义事件 244

15.5 创建宿主元素绑定 247

15.6 在宿主元素上创建双向绑定 248

15.7 导出指令用于模板变量 250

15.8 本章小结 251

第16章 创建结构型指令 253

16.1 准备示例项目 253

16.2 创建简单的结构型指令 254

16.2.1 实现结构型指令类 255

16.2.2 启用结构型指令 257

16.2.3 使用结构型指令的简洁语法 258

16.3 创建迭代结构型指令 259

16.3.1 提供额外的上下文数据 261

16.3.2 使用简洁的结构语法 262

16.3.3 处理属性级数据变更 263

16.3.4 处理集合级数据变更 264

16.4 查询宿主元素内容 271

16.4.1 查询多个子内容 274

16.4.2 接收查询变更通知 275

16.5 本章小结 276

第17章 理解组件 277

17.1 准备示例项目 278

17.2 使用组件来组织应用程序 278

17.2.1 创建新组件 279

17.2.2 定义模板 282

17.2.3 完成组件的重组 289

17.3 使用组件样式 289

17.3.1 定义外部组件样式 290

17.3.2 使用高级样式特性 291

17.4 查询模板内容 296

17.5 本章小结 298

第18章 使用和创建管道 299

18.1 准备示例项目 299

18.2 理解管道 302

18.3 创建一个自定义管道 303

18.3.1 注册自定义管道 303

18.3.2 应用自定义管道 304

18.3.3 组合管道 305

18.3.4 创建非纯管道 306

18.4 使用内置管道 309

18.4.1 格式化数值 309

18.4.2 格式化货币值 311

18.4.3 格式化百分比 313

18.4.4 格式化日期 314

18.4.5 改变字符串大小写 317

18.4.6 将数据序列化为JSON数据 317

18.4.7 将数据数组切片 318

18.5 本章小结 319

第19章 使用服务 321

19.1 准备示例项目 321

19.2 理解对象分发问题 322

19.2.1 问题的提出 322

19.2.2 利用依赖注入将对象作为服务分发 326

19.2.3 在其他构造块中声明依赖 330

19.3 理解测试隔离问题 335

19.4 完成服务的融入 338

19.4.1 更新根组件和模板 338

19.4.2 更新子组件 339

19.5 本章小结 340

第20章 使用服务提供程序 341

20.1 准备示例项目 342

20.2 使用服务提供程序 343

20.2.1 使用类提供程序 345

20.2.2 使用值提供程序 350

20.2.3 使用工厂提供程序 351

20.2.4 使用已有的服务提供程序 353

20.3 使用本地提供程序 354

20.3.1 理解单个服务对象的局限性 354

20.3.2 在组件中创建本地提供程序 355

20.3.3 理解服务提供程序的替代方案 357

20.3.4 控制依赖解析 360

20.4 本章小结 361

第21章 使用和创建模块 363

21.1 准备示例项目 363

21.2 理解根模块 365

21.2.1 理解imports属性 366

21.2.2 理解declarations属性 366

21.2.3 理解providers属性 367

21.2.4 理解bootstrap属性 367

21.3 创建功能模块 368

21.3.1 创建模型模块 369

21.3.2 创建实用工具功能模块 373

21.3.3 用组件创建一个功能模块 377

21.4 本章小结 380

第Ⅲ部分 Angular高级功能 383

第22章 创建示例项目 383

22.1 启动示例项目 383

22.1.1 添加和配置Bootstrap CSS包 383

22.1.2 创建项目结构 383

22.2 创建模型模块 384

22.2.1 创建产品数据类型 384

22.2.2 创建数据源和存储库 384

22.2.3 完成模型模块 385

22.3 创建核心模块 385

22.3.1 创建共享状态服务 386

22.3.2 创建表格组件 386

22.3.3 创建表单组件 387

22.4.4 完成核心模块 389

22.4 创建消息模块 389

22.4.1 创建消息模型和服务 389

22.4.2 创建组件和模板 390

22.4.3 完成消息模块 390

22.5 完成项目 391

22.6 本章小结 392

第23章 使用Reactive Extensions 393

23.1 准备示例项目 394

23.2 理解问题 394

23.3 使用Reactive Extensions解决问题 396

23.3.1 理解Observable 396

23.3.2 理解Observer 398

23.3.3 理解Subject 399

23.4 使用async管道 400

23.5 扩展应用程序功能模块 402

23.6 更进一步 404

23.6.1 过滤事件 404

23.6.2 转换事件 405

23.6.3 只接收不同的事件 407

23.6.4 获取和忽略事件 409

23.7 本章小结 410

第24章 生成异步HTTP请求 411

24.1 准备示例项目 411

24.1.1 配置模型功能模块 412

24.1.2 创建数据文件 412

24.1.3 更新表单组件 413

24.1.4 运行示例项目 413

24.2 理解RESTful Web服务 414

24.3 替换静态数据源 414

24.3.1 创建新的数据源服务 414

24.3.2 配置数据源 416

24.3.3 使用REST数据源 416

24.3.4 保存和删除数据 417

24.4 加强HTTP请求 419

24.5 生成跨域请求 420

24.6 配置请求头 422

24.7 处理错误 424

24.7.1 生成用户可使用的消息 425

24.7.2 处理错误 426

24.8 本章小结 427

第25章 路由与导航:第1部分 429

25.1 准备示例项目 429

25.2 开始学习路由 431

25.2.1 创建路由配置 431

25.2.2 创建路由组件 433

25.2.3 更新根模块 433

25.2.4 完成配置 433

25.2.5 添加导航链接 434

25.2.6 理解路由的效果 436

25.3 完成路由实现 437

25.3.1 在组件中处理路由变化 438

25.3.2 使用路由参数 439

25.3.3 在代码中导航 444

25.3.4 接收导航事件 445

25.3.5 删除事件绑定和支持代码 446

25.4 本章小结 448

第26章 路由与导航:第2部分 449

26.1 准备示例项目 449

26.2 使用通配符和重定向 454

26.2.1 在路由中使用通配符 454

26.2.2 在路由中使用重定向 455

26.3 在组件内部导航 456

26.3.1 响应正在发生的路由变化 457

26.3.2 为活动路由设置不同样式的链接 459

26.3.3 修复All按钮 461

26.4 创建子路由 462

26.4.1 创建子路由出口 463

26.4.2 从子路由访问参数 464

26.5 本章小结 467

第27章 路由与导航:第3部分 469

27.1 准备示例项目 469

27.2 守卫路由 470

27.2.1 使用解析器推迟导航 470

27.2.2 避免带有守卫的导航 476

27.3 动态加载功能模块 484

27.3.1 创建一个简单的功能模块 484

27.3.2 动态加载模块 485

27.3.3 守卫动态模块 488

27.4 指定命名出口 490

27.4.1 创建附加的出口元素 490

27.4.2 在使用多个出口的情况下导航 491

27.5 本章小结 493

第28章 使用动画 495

28.1 准备示例项目 496

28.1.1 禁用HTTP延迟 496

28.1.2 简化表格模板和路由配置 496

28.2 开始学习Angular动画 498

28.2.1 启用动画模块 498

28.2.2 创建动画 499

28.2.3 应用动画 501

28.2.4 测试动画效果 503

28.3 理解内置的动画状态 504

28.4 理解元素过渡 505

28.4.1 为内置状态创建过渡 505

28.4.2 控制动画的过渡 506

28.5 理解动画样式组 510

28.5.1 在可重用的分组中定义公共样式 510

28.5.2 使用元素变形 511

28.5.3 应用CSS框架样式 512

28.6 本章小结 514

第29章 Angular单元测试 515

29.1 准备示例项目 516

29.2 创建一个简单的单元测试 517

29.3 使用Jasmine完成单元测试 518

29.4 测试Angular组件 519

29.4.1 使用TestBed类完成工作 519

29.4.2 测试数据绑定 522

29.4.3 测试带有外部模板的组件 523

29.4.4 测试组件事件 525

29.4.5 测试输出属性 526

29.4.6 测试输入属性 528

29.4.7 测试异步操作 529

29.5 测试Angular指令 531

29.6 本章小结 532

相关图书
作者其它书籍
返回顶部