Angular 4+ 修仙之路

Angular 4.x 快速入门

  • Angular 4 快速入门

    • 涉及 Angular 简介、环境搭建、插件表达式、自定义组件、表单模块、Http 模块等
  • Angular 4 基础教程

    • 涉及 Angular CLI 使用、创建组件、事件、自定义服务、 ngFor 指令、Input、Output 装饰器等
  • Angular 4 指令快速入门

    • 涉及如何创建指令、定义输入属性、事件处理、如何获取宿主元素属性值、如何创建结构指令等
  • Angular 4 表单快速入门

    • 涉及如何创建表单、表单验证、表单控件状态、单选控件、多选控件的使用等
  • Angular 表单简介

    • 涉及 Template-driven 表单与 Reactive 表单的特点、表单控件状态、Reactive 表单简介等
  • Angular 4.x 路由快速入门

    • 涉及路由简介、如何配置路由、动态路由、子路由、路由指令及路由相关 API 等
  • TypeScript 简介

    • 涉及 TypeScript 数据类型、复合类型、箭头函数、可选参数、默认参数、对象解构、数组解构等

Angular 4.x 组件学习线路 (仅供参考)

对于刚从 Angular 1.x 转到 Angular 4.x 的用户,建议先阅读一下 Angular 4.x vs Angular 1.x 章节 (目前还不够完善)。下面提供的学习线路仅供参考,读者可以自行选读。该学习线路基本包含 Angular 4.x 组件相关知识,如果有遗漏,欢迎大家指出。(友情提示:初学者不用完整了解每个部分的内容,特别是设计源码分析的部分,只需了解基本用法,然后多实践哈)

Angular 4.x vs Angular 1.x

Provider

Directive(指令)

Decorator(装饰器)

  • Angular 4.x Decorator - 1

    • 涉及装饰器定义和分类、TypeScript 类装饰器、属性装饰器、方法装饰器、参数装饰器等
  • Angualr 4.x Decorator - 2

    • 涉及 Angular 4.x 类装饰器、属性装饰器、方法装饰器、参数装饰器示例
  • Angular 4.x Decorator - 3

    • 涉及 Angular 4.x Metadata 分类:annotations、design:paramtypes、propMetadata、parameters 及映射关系
  • Angular 4.x Input

    • 涉及 @Input、@Input('bindingPropertyName')、@Component() - inputs、setter & getter 、ngOnChanges 等
  • Angular 4.x Output

    • 涉及 @Output、@Output('bindingPropertyName')、@Component() - outputs、Two-Way Data Binding、[()] 语法示例、ngModel 等
  • Angular 4.x Inject Decorator

    • 涉及 @Inject 装饰器的作用、实际应用及内部实现,并解释了非 Type 类型的参数只能用 @Inject(Something) 的方式注入的原因,此外还介绍了 @Injectable、Reflect API 等
  • Angular 4.x ViewChild & ViewChildren

    • 涉及 @ViewChild、@ViewChildren 装饰器使用及 @ViewChild 装饰器原理详解
  • Angular 4.x ContentChild & ContentChildren

    • 涉及 @ContentChild、@ContentChildren 装饰器使用及 @ContentChild 接口及装饰器,同时介绍了 Content Projection (内容投影) 的概念及 @ContentChild 与 @ViewChild 装饰器的区别等
  • Angular 4.x HostListener & HostBinding

    • 涉及 Host Element、HostListener 装饰器定义及应用、Host Event Listener、HostBinding 装饰器定义及应用、Host Property Bindings 等

Pipe(管道)

  • Angular 4.x Pipe

    • Angular 4.x 内建管道分类及使用示例、管道参数、管道链、自定义管道、管道分类、管道探秘等
  • Angular 4.x AsyncPipe

    • 涉及 AsyncPipe with Promise、AsyncPipe with Observables、使用 AsyncPipe 重复发送请求的解决方案及 AsyncPipe 内部执行流程 (源码解析)

Dependency Injection(依赖注入)

Change Detection(变化检测)

  • Angular 4.x Change Detection - 1

    • 涉及变化和变化触发源、Zones、NgZone 及如何访问 Zone 打补丁前的方法,如 setTimeout、clearTimeout 等
  • Angular 4.x Change Detection - 2

    • 涉及组件和变化检测器、OnChanges、变化检测性能优化、OnPush 策略、Mutable & Immutable、ChangeDetectorRef、Observables 等

Http

  • Angular 4.x Http Module - HTTP

    • 涉及 B/S、URI、MIME、HTTP请求和响应报文、HTTP 请求方法和状态码,并收录了 HTTP 经典教程和相关工具,如 Cookie 与 Session、HTTP 缓存、CORS、HTTP/2、HTTPS及常用的HTTP抓包工具、Chrome相关插件、各平台HTTP包、压力测试工具等
  • Angular 4.x Http Module - XMLHttpRequest

    • 涉及 AJAX、XMLHTTP、XMLHttpRequest详解、XMLHttpRequest Level 1、Level 2 详解、XHR 上传、下载数据、XHR 流式传输、XHR 定时轮询和长轮询区别与优缺点、XMLHttpRequest 常用代码片段、常见问题等
  • Angular 4.x HttpModule 脑图(思维导图)
  • Angular 4.x HttpModule Reveal(源码揭秘)

    • 涉及 HTTP 协议、HTTP 请求报文、HTTP 响应报文、HttpModule Request、Response、RequestOptions、ResponseOptions、XHRBackend 对象等
  • 使用 RxJS 处理多个 Http 请求

    • 涉及使用 RxJS mergeMap 和 forkJoin 操作符处理多个 Http 请求
  • 激动人心的 Angular HttpClient

    • 涉及 Angular 4.3 版本中 HttpClient 的主要特性,如默认 JOSN 解析、支持拦截器和进度事件等
  • Angular HTTP Client 快速入门

    • 涉及 Angular 4.3 版本中 HttpClient 的使用示例,如发送 Get 请求、设置查询参数、设置请求头、发送其它 Http 请求、并行发送多个请求、顺序发送 Http 请求、异常处理、拦截器和进度事件等

Form(表单)

Router

Events

Compiler(编译器)

  • Angular 4.x JIT vs AOT

    • 涉及 Just-In-Time & Ahead-Of-Time、JIT vs AOT 、AOT 详解、AOT 实战等
  • Angular 4.x Compiler (未完成)

Reference Object(引用对象)

RxJS

  • Functional Programming

    • 涉及函数式编程概念、基础条件、重要特性、优势、常用方法等
  • Observable

    • 涉及观察者、迭代器模式、Observable提案、自定义Observable、Create Operators、Observer、Pull vs Push、Observable vs Promise 等
  • Operators

    • 涉及 Marble diagrams、Create Operators、Transformation Operators、Filtering Operators、Combination Operators、Utility Operators 等
  • Subject

    • 涉及观察者模式定义、结构及实战、Observable subscribe、自定义 Subject、RxJS Subject、Angular 4.x RxJS Subject 应用、BehaviorSubject、ReplaySubject、AsyncSubject 等
  • RxJS - Observables, observers 和 operators 简介

    • 涉及自定义 Observable、Operators 的相关知识
  • 自定义 toJSON 操作符

    • 涉及 RxJS 中自定义操作符的相关知识

Others(其他)