AngularJS是一门非常现代的框架,你可以用它来构建高效、健壮的Web应用。《迈向Angular 2》一书是入手Angular 2快捷的方式,这本书将会帮助你快速转入Angular 2的全新世界。你将会从本书中学到:
每一步都有详细的实例代码,帮助你理解与AngularJS 1.x相比所发生的变更,降低Angular 2的学习曲线。
开始使用Angular 2的新方法来实现指令。
使用TypeScript编写现代化的、强大的Angular 2应用。
构上的变更,确保你理解Angular 2背后所发生的事情。
开始使用Angular 2所带来的全新路由机制。
学会使用Angular 2所带来的新特性,例如管道;同时学会使用发生更新的一些特性,例如:表单(Form)、服务(Service),以及DI(依赖注入)模块。
理解Angular 2的服务端渲染特性,让你编写的新应用对SEO更加友好。
《迈向Angular 2:基于TypeScript的高性能SPA框架》由Angular之父Mi?ko Hevery作序,作者为Angular开发团队成员之一。基于对Angular 2架构和设计方面的深入理解,《迈向Angular 2:基于TypeScript的高性能SPA框架》选材精准、内容实用。《迈向Angular 2:基于TypeScript的高性能SPA框架》从一个小例子开始引导读者快速上手,详细介绍Angular 2带来的所有新特性,包括组件、指令、TypeScript、新的路由机制、管道、服务端渲染等。《迈向Angular 2:基于TypeScript的高性能SPA框架》读者对象包括Angular 1.x的开发者、想直接从Angular 2开始入手的学习者,以及前端技术架构师等。
推荐序
Angular 2依然是Angular,只是更强大而已。它依然构建在那些相同的原则之上,这些原则也是你们热爱AngularJS的原因:构建单页应用的一种快速而强大的解决方案。在Angular 2中,应用将会运行得更加快速,对SEO和移动设备更加友好,并且是天然跨平台的。虽然Angular 2已经对AngularJS中的很多概念做出了大幅度的演进,但是仍然保留了上一个版本的设计哲学。
《迈向Angular 2:基于TypeScript的高性能SPA框架》一书完全可以佐证以上观点。所以,Minko的这本书将会成功地帮你把思维模式从AngularJS1.x切换到Angular 2。从你与Angular 2的初次邂逅直到最后,Angular的核心概念将会贯穿始终。这本指南将会帮你切换到用Angular做事的新方式上去。Minko将会引导你贯通所有变更的内容,包括引入的所有新特性:组件、指令、TypeScript、新的路由机制,以及开始使用Angular 2开发你的下一个项目时所需要的一切内容。
如今的Web开发领域日新月异,Angular 2接受了这一挑战,并且构建在AngularJS的遗产之上。因此,对Angular社区来说,出现高质量的学习资料是极其重要的,而Minko的这本书将会帮助Angular开发者迈出面向未来的第一步。
Mi?ko Hevery
AngularJS与Angular 2之父
序言
第1章 Angular 2快速上手
Web的进化——新框架时代
ECMAScript的进化
Web Component
WebWorker
从AngularJS 1.x中学到的经验
Controller
Scope
依赖注入
服务端渲染
大规模应用
模板
脏值检测
本章小结
第2章 Augular 2应用的基础构件
Angular 2概念性简介
脏值检测
认识Angular 2中的组件
组件实战
Angular 2中的组件
管道
定义管道
脏值检测
传统的脏值检测
AngularJS 1.x中的脏值检测
增强AngularJS 1.x的脏值检测
理解服务
理解新的基于组件的路由机制
Angular 2中定义路由的语法
本章小结
第3章 TypeScript速成
TypeScript简介
编译时类型检查
文本编辑器和IDE的支持更好
TypeScript的更多特性
TypeScript用法
用npm安装TypeScript
运行我们的第一个TypeScript程序
TypeScript从ES2015和ES2016中引入的语法和特性
ES2015中的箭头函数
使用ES2015和ES2016中的类
定义在块级作用域中可见的变量
使用ES2016装饰器进行元编程
使用可配置的装饰器
使用ES2015编写模块化的代码
使用ES2015中的模块语法
利用隐式异步行为
使用别名
导入所有导出的模块
默认导出
ES2015模块加载器
ES2015和ES2016总结
发挥静态类型的优势
使用显式类型定义
理解原生类型
理解Object类型
定义类
使用访问修饰符
定义接口
使用TypeScript装饰器提升表现力
使用类型参数编写泛型代码
使用泛型函数
多重泛型
利用TypeScript的类型推断机制简化代码
最常见的类型
与上下文有关的类型推断
使用外部类型定义
使用预定义的外部类型定义
自定义外部类型
定义ts.d文件
本章小结
第4章 Angular 2组件和指令入门
Angular 2 Hello world!
配置开发环境
初始化项目仓库
Angular 2和TypeScript上手试玩
首页代码深度解析
Angular 2指令用法
ngFor 指令
改进了指令语法的语义
在模板内部定义变量
在模板里面使用语法糖
定义Angular 2指令
设置指令的输入
理解指令的构造函数
封装指令的更好方式
Angular 2内置指令的用法
组件视图封装简介
实现组件的控制器
处理用户交互
指令的输入和输出
找到指令的输入和输出
定义组件的输入和输出
传递输入与使用输出结果
事件冒泡
重命名指令的输入与输出
定义输入输出参数的另一种语法
详解Angular 2中的内容投影
Angular 2中的内容投影入门
投射多块内容
组件嵌套
ViewChildren和ContentChildren的用法
ViewChild与ContentChild
挂钩到组件的生命周期上
执行的顺序
用TemplateRef定义通用视图
理解并优化脏值检测机制
脏值检测器的执行顺序
脏值检测策略
利用不可变数据和OnPush策略提升性能
在Angular中使用不可变数据结构
本章小结
第5章 Angular 2中的依赖注入
为什么要依赖注入?
Angular 2中的依赖注入
Angular 2中DI的优点
配置注射器
使用生成的元数据解析依赖关系
初始化注射器
前向引用简介
配置provider
定义实例化服务的工厂
子注射器以及可见性
构建注射器层级结构
配置依赖关系
在组件和指令中使用DI
元素注射器简介
在ES5中使用Angular的DI机制
本章小结
第6章 Angular 2中的路由和表单
开发一个名为“码农仓库”的应用
探索Angular 2中的路由
定义根组件并启动应用
PathLocationStrategy的用法
使用@RouteConfig配置路由
routerLink 和router-outlet的用法
利用AsyncRoute实现懒加载
Angular 2中的表单用法
开发模板驱动型表单
深入理解模板驱动型表单的标签结构
使用内置的表单校验器
自定义控件的校验器
在Angular中使用select输入项
NgForm指令的用法
Angular 2中的双向数据绑定
存储表单数据
显示存储的所有开发者列表
本章小结
第7章 详解管道以及与RESTful服务端之间的通信
在Angular 2中开发数据模型驱动型表单
使用控件校验器组合
探索Angular的HTTP模块
使用Angular的HTTP模块
定义参数化视图
定义嵌套路由
使用管道进行数据转换
开发无状态管道
使用Angular内置的管道
开发有状态管道
有状态管道的用法
Angular中AsyncPipe的用法
本章小结
第8章 开发体验与服务端渲染
在Web Worker中运行应用
WebWorker与Angular 2
启动基于WebWorker的应用
把应用迁移到Web Worker上
让应用兼容Web Worker
单页应用的加载过程
启用了服务端渲染的SPA的加载过程
Angular 2中的服务端渲染
改善开发体验
各种文本编辑器和IDE
热重载
用angular-cli初始化项目
angular-cli的用法
Angular 2快速上手项目
Angular 2种子项目
针对Webpack的Angular 2入门项目
本章小结
我们首先会快速概览与1.x相比框架所发生的变更。随后,你将会学习TypeScript快速入门教程,这样我们就可以充分利用Angular 2的本地化(native)和静态类型环境。然后,我们还会详细学习新的脏值检测机制、当你使用Angular创建网站的时候Directive(指令)和Component(组件)将会带来怎样的改变、Angular 2的新路由,等等。
读完本书之后,你将会具备利用Angular2所提供的全部新特性来快速、高效地构建Angular 2应用的能力。
你想深入学习Angular 2吗?或许你想先评估一下新的变更再决定是否跟进?如果是,那么《迈向Angular 2》就是为你量身定制。
为了能够充分理解本书中的内容,你需要对AngularJS 1.x有基本的理解,同时需要对JavaScript非常熟悉。阅读本书不需要预先了解 Angular 2所引入的变更。