Angular for TypeScript 语法快速指南 (基于2.0.0版本)
引导 | |
---|---|
platformBrowserDynamic().bootstrapModule(AppModule); |
使用JIT编译器引导一个AppModule模块定义的应用 |
|
|
---|---|
@NgModule({declarations:...,imports:..., |
定义一个模块,其中包括组件、指令、管道和提供商。 |
declarations:[MyRedComponent,MyBlueComponent,MyDatePipe] |
一个数组,包括从属于当前模块的组件、指令和管道。 |
imports:[BrowserModule,SomeOtherModule] |
一个数组,包括被导入到当前模块中的所有模块。来自被导入模块的 |
一个数组,包括对导入当前模块的模块可见的组件、指令、管道。 |
|
providers:[MyService,{provide:...}] |
|
一个数组,包括由当前模块引导时应该引导的组件 |
<input[value]="firstName"> |
把属性 |
<div[attr.role]="myAriaRole"> |
把 |
<div[class.extra-sparkle]="isDelightful"> |
把元素是否出现CSS类 |
把样式的 |
|
<button(click)="readRainbow($event)"> |
|
把属性绑定到一个插值表达式字符串,比如 "Hello Seabiscuit"。它等价于: |
|
<p>Hello{{ponyName}}</p> |
把文本内容绑定到一个插值表达式,比如 "Hello Seabiscuit". |
设置双向数据绑定。等价于: |
|
<video#movieplayer...> |
创建一个局部变量 |
|
|
<p>CardNo.:{{cardNumber|myCardNumberFormatter}}</p> |
通过名叫 |
安全导航运算符( |
|
<svg:rectx="0"y="0"width="100"height="100"/> |
SVG模板需要在它们的根节点上带一个 |
|
|
|
---|---|
<section*ngIf="showSection"> |
基于showSection表达式的值移除或重新创建部分DOM树。 |
<li*ngFor="letitemoflist"> |
把li元素及其内容转化成一个模板,并用它来为列表中的每个条目初始化视图。 |
<div[ngSwitch]="conditionExpression"> |
基于conditionExpression的当前值,从内嵌模板中选取一个,有条件的切换div的内容。 |
把一个元素上CSS类的出现与否,绑定到一个真值映射表上。右侧的表达式应该返回类似{class-name: true/false}的映射表。 |
import { FormsModule } from '@angular/forms'; | |
---|---|
<input[(ngModel)]="userName"> |
提供双向绑定,为表单控件提供解析和验证。 |
import { Directive,... } from '@angular/core'; | |
---|---|
@Component({...}) |
声明当前类是一个组件,并提供关于该组件的元数据。 |
声明当前类是一个指令,并提供关于该指令的元数据。 |
|
@Pipe({...}) |
声明当前类是一个管道,并且提供关于该管道的元数据。 |
声明当前类有一些依赖,当依赖注入器创建该类的实例时,这些依赖应该被注入到构造函数中。 |
@Directive({ property1: value1,... }) | |
---|---|
selector:'.cool-button:not(a)' |
指定一个CSS选择器,以便在模板中找出该指令。支持的选择器包括 不支持父子关系选择器。 |
@Component扩展了@Directive ,以便@Directive 中的配置项也能用在组件上 |
|
---|---|
moduleId:module.id |
如果设置了, |
依赖注入provider的数组,局限于当前组件的视图中。 |
|
template:'Hello{{name}}' |
当前组件视图的内联模板或外部模板地址 |
内联CSS样式或外部样式表URL的列表,用于给组件的视图添加样式。 |
import { Input,107); padding:0px 4px; display:inline-block">@Input()myProperty; | 声明一个输入属性,以便我们可以通过属性绑定更新它。(比如: |
---|---|
声明一个输出属性,以便我们可以通过事件绑定进行订阅。(比如: |
|
@HostBinding('[class.valid]')isValid; |
|
@ContentChild(myPredicate)myChildComponent; |
|
@ViewChild(myPredicate)myChildComponent; |
|
(作为类方法实现) |
|
---|---|
constructor(myService:MyService,...){...} |
|
ngOnInit(){...} |
|
ngAfterContentInit(){...} |
|
ngAfterViewInit(){...} |
当组件的视图已经初始化完毕,每次ngAfterContentInit之后被调用。只适用于组件。 |
每次检查完组件的视图之后调用。只适用于组件。 |
|
ngOnDestroy(){...} |
在所属实例被销毁前,只调用一次。 |
{provide:MyService,useClass:MyMockService} |
把MyService类的提供商设置或改写为MyMockService。 |
{provide:MyValue,useValue:41} |
把MyValue的提供商设置或改写为值41。 |
|
|
---|---|
constroutes:Routes=[ |
|
|
标记一个位置,用于加载当前激活路由的组件。 |
|
基于路由指令创建指向不同视图的链接,由路由路径、必选参数、可选参数、查询参数和片段(fragment)组成。添加“/”前缀可以导航到根路由。添加“./”前缀可以导航到子路由。添加“../sibling”前缀可以导航到兄弟路由或父路由。 |
当 |
|
classCanActivateGuardimplementsCanActivate{ |
一个用来定义类的接口,路由器会首先调用它来决定是否应该激活该组件。应该返回布尔值或能解析为布尔值的可观察对象(Observable)或承诺(Promise)。 |
一个用来定义类的接口,路由器在导航后会首先调用它来决定是否应该取消该组件的激活状态。应该返回布尔值或能解析为布尔值的可观察对象(Observable)或承诺(Promise)。 |
|
classCanActivateChildGuardimplementsCanActivateChild{ |
一个用来定义类的接口,路由器会首先调用它来决定是否应该激活该子路由。应该返回布尔值或能解析为布尔值的可观察对象(Observable)或承诺(Promise)。 |
一个用来定义类的接口,路由器会在渲染该路由之前先调用它来解析路由数据。应该返回一个值或能解析为值的可观察对象(Observable)或承诺(Promise)。 |
|
classCanLoadGuardimplementsCanLoad{ |
一个用来定义类的接口,路由器会首先调用它来决定一个惰性加载的模块是否应该被加载。应该返回布尔值或能解析为布尔值的可观察对象(Observable)或承诺(Promise)。 |