Angular2中文官网:https://www.angular.cn/guide/quickstart
Angular2中的管道@Pipe即是模板中对数据的变换机制,作用和AngularJS中的过滤器filter一样
Angular2内置管道,以及Angular官方的介绍
- DecimalPipe: {{value
| number:'2.2-2'}}
- DatePipe: {{value
| date:'yyMMdd'}}
- JsonPipe: {{value
| json
}} 基于JSON.stringify(),主要用于调试
- PercentPipe: {{value
| percent:'1.2-3'}}
- SlicePipe: {{value
| slice:1:4}}
- UpperCasePipe: {{value
| uppercase}}
- LowerCasePipe: {{value
| lowercase}}
当然也可以
自定义管道1、声明一个管道
<span style="color: #008000">//
<span style="color: #008000"> 导入模块
import {Pipe,PipeTransform} <span style="color: #0000ff">from <span style="color: #800000">"<span style="color: #800000">@angular/core<span style="color: #800000">"<span style="color: #000000">;
<span style="color: #008000">//<span style="color: #008000"> 管道名称
<span style="color: #000000">@Pipe({
name: <span style="color: #800000">"<span style="color: #800000">calculatePipe<span style="color: #800000">"<span style="color: #000000">
})
export <span style="color: #0000ff">class<span style="color: #000000"> CalculatePipe implements PipeTransform {
<span style="color: #008000">/
<span style="color: #008000">参数说明:
value是在使用管道的时候,获取的所在对象的值
后面可以跟若干个参数
*
arg: 自定义参数,数字类型,使用的时候,使用冒号添加在管道名称后面
<span style="color: #008000">
/<span style="color: #000000">
transform(value:number,arg:number) {
<span style="color: #0000ff">return value <span style="color: #800080">10 *<span style="color: #000000"> arg;
}
}
主模块中声明
...
import { CalculatePipe } <span style="color: #0000ff">from <span style="color: #800000">"<span style="color: #800000">../pipe/calculate.pipe<span style="color: #800000">"<span style="color: #000000">;
@ngModule({
declarations: [
CalculatePipe
]
})
...
模板中使用
@Pipe管道的例子
[(ngModel)]= name= =/>
{{ number | calculatePipe : }}