# Angular 2 技能图谱

## 模块

### 自定义模块

- 根模块

- 特性模块

- 共享模块

- 核心模块

### 内置模块

- ApplicationModule 模块

- CommonModule 模块

- BrowserModule 模块

- FormsModule 模块

- ReactiveFormsModule 模块

- RouterModule 模块

- HttpModule 模块

### 元数据

- providers

- declarations

- imports

- exports

- bootstrap

- id

- schemas

- entryComponents

## 指令

### 组件

### 结构指令

- 改变 DOM 树的结构,如 NgIf

### 属性指令

- 改变元素的外观和行为,如 NgStyle

### 生命周期钩子

- OnInit

- OnChanges

- DoCheck

- OnDestroy

### 内置指令

- 通用指令

* NgClass

* NgStyle

* NgIf

* NgSwitch

* NgFor

* NgTemplateOutLet

* NgPlural

- 表单指令

* FormsModule 模块

+ NgForm

+ NgModelGroup

+ NgModel

+ InternalFormsSharedModule 模块

* ReactiveFormsModule 模块

+ FormControlDirective

+ FormGroupDirective

+ FormControlName

+ FormGroupName

+ FormArrayName

+ InternalFormsSharedModule 模块

* InternalFormsSharedModule 模块

+ 表单元素访问器指令

+ 表单选择框选项指令

+ 表单验证指令

+ 控件状态指令

- 路由指令

* RouterLink

+ RouterLinkWithHref(a[routerLink])

+ RouterLink(:not(a)[routerLink])

* RouterLinkActive

* RouterOutlet

### 自定义指令

## 组件

### 元数据

- selector

- moduleId

- inputs

- outputs

- host

- exportAs

- providers

- viewProviders

- changeDetection

- queries

- entryComponents

- templateUrl

- template

- encapsulation

- styles

- styleUrls

- animations

- interpolation

### 生命周期钩子

- OnChanges

- OnInit

- DoCheck

- AfterContentInit

- AfterContentChecked

- AfterViewInit

- AfterViewChecked

- OnDestroy

### 模板

## 模板

### 表达式操作符

- 管道(|)

* 内置管道

* 自定义管道

* 纯管道

* 非纯管道

- 安全导航(?.)

### 数据绑定

- 属性绑定 - []

* 插值 - {{}}

* Property 绑定

* Attribute、 class 与 style 绑定

- 事件绑定 - ()

- 双向绑定 - [()]

### 表单

- 模板局部变量(# 或 ref-)

- 表单校验

* 内置校验器

* 自定义检验器

- 表单状态

- 表单指令

### 内置元素标签

- \<ng-container>

- \<ng-content>

## 路由

### 路由指令

### 路由策略

- PathLocationStrategy

- HashLocationStrategy

- PreloadingStrategy

* PreloadAllModules

* NoPreloading(默认)

* 自定义预加载策略

### 路由拦截

- CanActivate(激活拦截)

- CanActivateChild(激活子路由配置项)

- CanDeactivate(反激活拦截)

- CanLoad(模块加载拦截)

- Resolve(数据预加载拦截)

### 路由跳转

- 指令跳转

* RouterLink

- 代码跳转

* navigateByUrl()

* navigate()

### 路由状态

- ActivatedRouteSnapshot

- RouterStateSnapshot

## 依赖注入

### 注入器(树)

### Provider

- 类 Provider(useClass)

- 值 Provider(useValue)

- 别名 Provider (useExisting)

- 工厂 Provider(useFactory)

### forwardRef()

### 可选依赖 - @Optional

## 服务

### 内置服务

- JsonpModule 模块

* Jsonp

* BrowserJsonp

* RequestOptions

* ResponseOptions

* JSONPBackend

- HttpModule 模块

* HTTP

* BrowserXhr

* XHRBackend

* XSRFStrategy

* RequestOptions

* ResponseOptions

### 自定义服务

## RxJS

### Observable

### Observer

### Subscription

### Subject

### operators

- 创建操作符

- 转化操作符

- 过滤操作符

- 组合操作符

- 错误处理操作符

- 工具操作符

- 条件操作符

### Scheduler

## 装饰器

### 类装饰器

- @Component

- @Directive

- @Pipe

- @Injectable

- @NgModule

### 属性装饰器

- @Input

- @Output

- @HostBinding

- @HostListener

- @ContentChild

- @ContentChildren

- @ViewChild

- @ViewChildren

### 参数装饰器

- @Inject

- @Optional

- @Self

- @SkipSelf

- @Host

- @Attribute

## 动画

- AnimationKeyframe

- AnimationPlayer

- AnimationSequencePlayer

- AnimationGroupPlayer

- AnimationQueue

- AnimationTransition

- AnimationTransitionEvent

## 变化检测

### Zone.js

- ngZone

* onUnstable

* onMicrotaskEmpty

* onStable

* onError

### 异步操作

- 用户事件:Click/Change...

- 通信:XHR/WebSocket

- 定时任务:setTimeout/requestAnimationFrame

### ChangeDetectorRef

## 测试

### 单元测试

- Jasmine 测试框架

- Karma 管理工具

### 端到端测试

- Protractor

- Benchpress

###  内置工具集

- TestBed

- inject

- ComponentFixture

- fakeAsync

- flushMicrotasks

- tick

- discardPeriodicTasks

## 升级

- UpgradeAdapter

- UpgradeAdapterRef

## 模板编译器

- 动态 - JIT

- 静态 - AoT

+ ngc

## 调试

- Augury

- 断点调试

## 质量检查工具

- TSLint

- Codelyzer

## 构建工具

- webpack

- Gulp

- RollUp

- System.js

## 编码工具

- VS Code

- WebStorm

- Atom

- Sublime Text

- Vim

## 开发语言

- TypeScript

- ES6 / ES5

- Dart

## 周边生态圈

- Angular Material 2

- Universal

- Angular-CLI

- Ionic 2

- NativeScript

- Angular Mobile Toolkit

- AngularFire 2

- Angular Electron

Angular 2 技能图谱skill-map的更多相关文章

  1. Java软件工程师技能图谱

    原文链接:Java软件工程师技能图谱 最近在考虑"拥有怎样的技能才能算一名合格的java软件工程师呢?"这个问题.碰巧在github发现一个很棒的开源项目--程序员技能图谱.@Zh ...

  2. fir.im Weekly - 人人都需要的 IT 技能图谱

    AlphaGo 与李世石的人机世纪大战落下帷幕,不禁让人思考<失控> 中说道的 "机器正在生物化,而生物正在工程化 ".作为人类,在未来能否保全最后的智力骄傲成为一个疑 ...

  3. DBA的技能图谱

    最近发现公布的技术岗位的技能图谱中没有DBA的,比较心塞,于是根据自己的工作经验写了一个,写的过程中发现,还的不断的完善,但是先放出来,欢迎大家提建议.

  4. [转]StuQ 技能图谱(全套13张)

    程序开发语言综述.jpg 前端工程师必备技能.jpg 大数据工程师必备技能.jpg   安全工程师必备技能.jpg 嵌入式开发必备技能.jpg iOS开发工程师必备技能.jpg   移动无线测试工程师 ...

  5. PHP 工程师技能图谱

    # PHP 工程师技能图谱## 基础知识 - HTTP - HEADER - REQUEST - RESPONSE - GET/POST/PUT/DELETE/PATCH/CONNECT/OPTION ...

  6. Node.js 开发技能图谱

    # Node.js 开发技能图谱 ## Node.js 语言环境搭建 - Node.js 安装(3m大法:nvm.npm.nrm)- Node.js 命令- Node.js开发工具(推荐vscode) ...

  7. Golang 开发技能图谱

    # Golang 开发技能图谱 ## Go 语言环境搭建- Go 安装- GOPATH 与工作空间- Go 命令- Go开发工具 ## GO 语言编程基础- 关键词和语法(Language Synta ...

  8. Ruby 技能图谱

    # Ruby 技能图谱 说明: 本图谱只捡重点的列举,并非包含全部.文中所列举或没有列举的资源信息都可以在[awesome-ruby](https://github.com/markets/aweso ...

  9. Java Software Engineer Skill Map

    # Java Software Engineer Skill Map## Basic### Core Java- Java The Complete Reference Ninth Edition.p ...

随机推荐

  1. nRF51822 之 Interrupt

    nRF51822的中断使用在官方的例程中好像没有!

  2. 测开之路三十八:css布局之定位

    常用的布局方式: static:静态定位(默认),什么都不用管,元素会按照默认顺序排列,排不下是会默认换行relative:相对定位(同一层),相对于某一个元素进行定位fixed:绝对定位,指定位置a ...

  3. Iconv作用以及安装问题解决

    当我们在使用Window操作系统的时候,可能使用最多的文本格式就是txt了,但是当我们将Window平台下的txt文本文档拷贝到Linux平台下查看时,发现原来的中文全部变成了乱码.没错, 引起这个结 ...

  4. Selenium:火狐Try Xpath插件替代Firebug和Firepath

    什么是Xpath? XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 工具 Xpath的练习建议大家安装火狐浏览器后,下载插件,try path. 在Selenium中 ...

  5. [LeetCode] 181.超过经理收入的员工

    Employee表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | ...

  6. luoguP3258 [JLOI2014]松鼠的新家 题解(树上差分)

    P3258 [JLOI2014]松鼠的新家  题目 树上差分:树上差分总结 #include<iostream> #include<cstdlib> #include<c ...

  7. f-strings格式化输出

    python3.6后加入标准库的格式化输出新的写法 不区分大小写,f,F都可以 可以加入表达式 s1 = 'haha' s = f'python{s1.upper()}' l1 = ['小明', 18 ...

  8. Python里面search()和match()的区别?

    match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话, ...

  9. Git忽略已经跟踪的文件 转摘:http://blog.csdn.net/huguohuan/article/details/7380349

    某工程project用Git管理代码,但是在他的根目录下有个配置文件,比如project.iws是不需要git每次跟踪它的修改记录的. 一般做法是在.gitignore文件中添加一行 project. ...

  10. CSS学习笔记(基础部分)

    一.CSS 简介: CSS 指层叠样式表 (Cascading Style Sheets),用来设置HTML的格式. 语法:选择器 {属性:值;属性:值} 注释://注释内容 /*注释内容*/ 二.C ...