计算机
类型
可以朗读
语音朗读
251千字
字数
2018-07-01
发行日期
展开全部
主编推荐语
《揭秘Angular 2》升级版:实战权威指南,Google诞生,MVC、模块化、双向数据绑定。
内容简介
本书作为前版《揭秘Angular 2》的重大升级,是紧跟Angular.js新版本的实战权威指南。Angular诞生于Google,已用于多款Google及全球商业产品。它是一套JavaScript前端框架,旨在开发当下流行的数据驱动的单页面Web应用,其核心特性是:MVC、模块化、自动双向数据绑定、语义化标签、依赖注入等。
目录
- 封面
- 版权页
- 推荐序1
- 推荐序2
- 推荐序3
- 推荐序4
- 前言
- 目录
- 第一部分 入门篇
- 1 前端风云
- 1.1 故事的起点
- 1.2 AJAX王者归来
- 1.3 工具库的流行
- 1.4 百家争鸣
- 1.5 走进前端新时代
- 1.6 小结
- 2 Angular简介
- 2.1 历史回顾
- 2.1.1 AngularJS 1.x起源
- 2.1.2 AngularJS 1.x迭代之路
- 2.1.3 初生的Angular
- 2.1.4 快速发展的Angular
- 2.1.5 Angular 4和后续语义版本
- 2.1.6 开发语言之选
- 2.2 Angular简述
- 2.2.1 核心概念
- 2.2.2 平台简介
- 2.2.3 平台亮点
- 2.3 小结
- 3 TypeScript入门
- 3.1 TypeScript概述
- 3.1.1 概述
- 3.1.2 安装
- 3.2 基本类型
- 3.2.1 布尔类型
- 3.2.2 数字类型
- 3.2.3 字符串类型
- 3.2.4 数组类型
- 3.2.5 元组类型
- 3.2.6 枚举类型
- 3.2.7 任意值类型
- 3.2.8 null和unde昀ned
- 3.2.9 void类型
- 3.2.10 never类型
- 3.3 声明和解构
- 3.3.1 let声明
- 3.3.2 const声明
- 3.3.3 解构
- 3.4 函数
- 3.4.1 函数定义
- 3.4.2 可选参数
- 3.4.3 默认参数
- 3.4.4 剩余参数
- 3.4.5 函数重载
- 3.4.6 箭头函数
- 3.5 类
- 3.5.1 类的例子
- 3.5.2 继承与多态
- 3.5.3 修饰符
- 3.5.4 参数属性
- 3.5.5 静态属性
- 3.5.6 抽象类
- 3.6 模块
- 3.6.1 概述
- 3.6.2 模块导出方式
- 3.6.3 模块导入方式
- 3.6.4 模块的默认导出
- 3.6.5 模块设计原则
- 3.7 接口
- 3.7.1 概述
- 3.7.2 属性类型接口
- 3.7.3 函数类型接口
- 3.7.4 可索引类型接口
- 3.7.5 类类型接口
- 3.7.6 接口扩展
- 3.8 装饰器
- 3.8.1 概述
- 3.8.2 方法装饰器
- 3.8.3 类装饰器
- 3.8.4 参数装饰器
- 3.8.5 属性装饰器
- 3.8.6 装饰器组合
- 3.9 泛型
- 3.10 TypeScript周边
- 3.10.1 编译配置文件
- 3.10.2 声明文件
- 3.10.3 编码工具
- 3.10.4 展望未来
- 3.11 小结
- 4 快速入门
- 4.1 Hello World例子
- 4.1.1 准备工作
- 4.1.2 构建项目
- 4.2 通讯录例子
- 4.2.1 背景介绍
- 4.2.2 架构设计
- 4.3 小结
- 第二部分 深入篇
- 5 Angular架构总览
- 5.1 核心模块介绍
- 5.1.1 组件
- 5.1.2 模板
- 5.1.3 指令
- 5.1.4 服务
- 5.1.5 依赖注入
- 5.1.6 路由
- 5.2 应用模块
- 5.3 源码结构介绍
- 5.4 小结
- 6 组件
- 6.1 概述
- 6.1.1 模块化介绍
- 6.1.2 组件化标准
- 6.1.3 Angular的组件
- 6.2 组件基础
- 6.2.1 创建组件的步骤
- 6.2.2 组件的基础构成
- 6.2.3 组件与模块
- 6.3 组件交互
- 6.3.1 组件的输入、输出属性
- 6.3.2 父组件向子组件传递数据
- 6.3.3 子组件向父组件传递数据
- 6.3.4 其他组件交互方式
- 6.4 组件内容嵌入
- 6.5 组件生命周期
- 6.5.1 概述
- 6.5.2 生命周期钩子
- 6.6 变化监测
- 6.6.1 数据变化的源头
- 6.6.2 变动通知机制
- 6.6.3 变化监测的响应处理
- 6.7 扩展阅读
- 6.7.1 元数据一览表
- 6.7.2 元数据说明
- 6.7.3 深入理解Zone.js
- 6.7.4 不依赖Zone.js的Angular
- 6.8 小结
- 7 模板
- 7.1 模板语法概览
- 7.2 数据绑定
- 7.2.1 概述
- 7.2.2 插值
- 7.2.3 模板表达式
- 7.2.4 属性绑定
- 7.2.5 事件绑定
- 7.2.6 双向数据绑定
- 7.2.7 输入和输出属性
- 7.3 内置指令
- 7.3.1 NgClass
- 7.3.2 NgStyle
- 7.3.3 NgIf
- 7.3.4 NgSwitch
- 7.3.5 NgFor
- 7.4 表单
- 7.4.1 模板表单例子
- 7.4.2 表单指令
- 7.4.3 自定义表单样式
- 7.4.4 表单校验
- 7.5 管道
- 7.5.1 管道介绍
- 7.5.2 内置管道
- 7.5.3 自定义管道
- 7.5.4 管道的变化监测
- 7.6 扩展阅读
- 7.6.1 安全导航操作符
- 7.6.2 双向绑定的原理
- 7.7 小结
- 8 指令
- 8.1 概述
- 8.1.1 指令分类
- 8.1.2 内置指令
- 8.2 自定义属性指令
- 8.2.1 实现属性指令
- 8.2.2 为指令绑定输入
- 8.2.3 响应用户操作
- 8.3 自定义结构指令
- 8.3.1 实现结构指令
- 8.3.2 模板标签与星号前缀
- 8.3.3 NgIf指令原理
- 8.4 扩展阅读
- 8.5 小结
- 9 服务与RxJS
- 9.1 Angular服务
- 9.1.1 概述
- 9.1.2 使用场景
- 9.2 HTTP服务
- 9.2.1 HttpModule
- 9.2.2 HttpClientModule
- 9.3 响应式编程
- 9.3.1 概述
- 9.3.2 ReactiveX
- 9.4 RxJS
- 9.4.1 创建Observable对象
- 9.4.2 使用RxJS处理复杂场景
- 9.4.3 RxJS和Promise的对比
- 9.4.4 “冷”模式下的Observable
- 9.4.5 RxJS中的Operator
- 9.4.6 Angular中的RxJS
- 9.5 小结
- 10 依赖注入
- 10.1 依赖注入介绍
- 10.2 Angular依赖注入
- 10.2.1 概述
- 10.2.2 在组件中注入服务
- 10.2.3 在服务中注入服务
- 10.2.4 在模块中注入服务
- 10.2.5 层级注入
- 10.2.6 注入到派生组件
- 10.2.7 限定方式的依赖注入
- 10.3 Provider
- 10.3.1 概述
- 10.3.2 Provider注册方式
- 10.4 扩展阅读
- 10.5 小结
- 11 路由
- 11.1 概述
- 11.2 基本用法
- 11.2.1 路由配置
- 11.2.2 创建根路由模块
- 11.2.3 添加RouterOutlet指令
- 11.3 路由策略
- 11.3.1 HashLocationStrategy介绍
- 11.3.2 PathLocationStrategy介绍
- 11.4 路由跳转
- 11.4.1 使用指令跳转
- 11.4.2 使用代码跳转
- 11.5 路由参数
- 11.5.1 Path参数
- 11.5.2 Query参数
- 11.5.3 Matrix参数
- 11.6 子路由和附属Outlet
- 11.6.1 子路由
- 11.6.2 附属Outlet
- 11.7 路由拦截
- 11.7.1 激活拦截与反激活拦截
- 11.7.2 数据预加载拦截
- 11.8 模块的延迟加载
- 11.8.1 延迟加载实现
- 11.8.2 模块预加载
- 11.8.3 模块加载拦截
- 11.9 小结
- 12 测试
- 12.1 概述
- 12.2 单元测试
- 12.2.1 概述
- 12.2.2 常用测试框架
- 12.2.3 Jasmine介绍
- 12.2.4 Karma介绍
- 12.2.5 Karma结合Jasmine测试
- 12.3 Angular单元测试
- 12.3.1 概述
- 12.3.2 独立单元测试
- 12.3.3 测试工具集
- 12.4 端到端测试
- 12.4.1 概述
- 12.4.2 Protractor介绍
- 12.5 小结
- 第三部分 实战篇
- 13 问卷调查系统简介
- 13.1 项目背景
- 13.2 主要特性
- 13.2.1 首页和帮助页
- 13.2.2 问卷编辑页
- 13.2.3 我的问卷页
- 13.2.4 用户管理页
- 13.3 产品设计
- 13.4 小结
- 14 项目起步
- 14.1 Angular CLI
- 14.1.1 简介
- 14.1.2 常用命令介绍
- 14.2 其他技术选型
- 14.2.1 UI样式库
- 14.2.2 后端服务器
- 14.3 环境搭建
- 14.3.1 搭建前端环境
- 14.3.2 引入样式库
- 14.3.3 搭建后端环境
- 14.4 目录结构介绍
- 14.5 首页开发
- 14.6 导航栏开发
- 14.7 小结
- 15 问卷编辑模块
- 15.1 概述
- 15.1.1 特性管理模块
- 15.1.2 功能设计
- 15.1.3 数据模型
- 15.2 问卷编辑模块开发
- 15.2.1 问题选择组件
- 15.2.2 问题组件
- 15.2.3 问卷组件
- 15.2.4 问卷服务
- 15.2.5 问卷大纲组件
- 15.3 小结
- 16 我的问卷模块
- 16.1 问卷列表
- 16.1.1 问卷列表项
- 16.1.2 显示问卷列表
- 16.1.3 显示问卷详情
- 16.2 问卷操作
- 16.2.1 发布后的问卷页面
- 16.2.2 问卷操作组件
- 16.3 小结
- 17 用户管理模块
- 17.1 开发简单注册页
- 17.2 表单控件组件
- 17.2.1 定义表单控件
- 17.2.2 校验表单控件
- 17.2.3 表单安全
- 17.3 用户注册功能开发
- 17.3.1 用户注册服务
- 17.3.2 组件的逻辑
- 17.3.3 注册接口开发
- 17.4 权限管理
- 17.5 小结
- 18 项目构建和最佳实践
- 18.1 项目构建
- 18.1.1 代码质量检查
- 18.1.2 测试
- 18.1.3 打包
- 18.1.4 容器化
- 18.2 最佳实践
- 18.2.1 单一职责
- 18.2.2 命名约定
- 18.2.3 编码约定
- 18.2.4 Angular模块约定
- 18.2.5 组件相关约定
- 18.2.6 指令相关约定
- 18.2.7 服务相关约定
- 18.2.8 其他
- 18.3 小结
- 第四部分 延伸篇
- 19 移动开发框架:ionic介绍与实战
- 19.1 移动开发
- 19.1.1 背景介绍
- 19.1.2 四种开发模式
- 19.1.3 技术选型
- 19.2 ionic平台介绍
- 19.2.1 概览
- 19.2.2 Cordova
- 19.2.3 环境搭建
- 19.2.4 组件开发
- 19.2.5 路由和导航
- 19.3 ionic Native
- 19.3.1 插件介绍
- 19.3.2 插件使用
- 19.3.3 插件开发
- 19.4 样式和主题
- 19.4.1 平台样式
- 19.4.2 主题
- 19.4.3 全局变量
- 19.4.4 工具属性
- 19.4.5 Iconfont
- 19.5 ionic CLI
- 19.6 通讯录实例
- 19.6.1 项目搭建
- 19.6.2 主页面
- 19.7 小结
- 20 服务端渲染
- 20.1 概述
- 20.2 客户端渲染的局限性
- 20.3 服务端渲染的局限性
- 20.4 Angular Universal介绍
- 20.5 将通讯录例子改造成Angular Universal的方式
- 20.6 服务端渲染的进阶实践
- 20.6.1 服务端数据的同步
- 20.6.2 使用依赖注入解决环境差异
- 20.6.3 使用Preboot解决事件脱节
- 20.7 小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。