图书介绍

Web开发经典丛书 Angular 高级编程 第3版PDF|Epub|txt|kindle电子书版本网盘下载

Web开发经典丛书 Angular 高级编程 第3版
  • (美)亚当·弗雷曼著;睢丹译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302529170
  • 出版时间:2019
  • 标注页数:532页
  • 文件大小:165MB
  • 文件页数:544页
  • 主题词:超文本标记语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第Ⅰ部分 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.js7

2.1.2 安装angular-cli包8

2.1.3 安装Git8

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.js27

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 理解HTML34

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 理解Bootstrap37

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 导航到管理URL120

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 缓存数据URL137

10.2.3 响应对连接的更改138

10.3 为部署准备应用程序140

10.3.1 创建数据文件140

10.3.2 创建服务器140

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

10.4 构建和测试应用程序142

10.5 将SportsStore应用程序容器化144

10.5.1 安装Docker144

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 使用linter156

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 Extensions393

23.1 准备示例项目394

23.2 理解问题394

23.3 使用Reactive Extensions解决问题396

23.3.1 理解Observable396

23.3.2 理解Observer398

23.3.3 理解Subject399

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

热门推荐