本文实例讲述了Angular2管道Pipe及自定义管道格式数据用法。分享给大家供大家参考,具体如下:
管道(Pipe)可以根据开发者的意愿将数据格式化,还可以多个管道串联。
纯管道(Pure Pipe)与非纯管道(Impure Pipe)
管道分纯管道(Pure Pipe)和非纯管道(Impure Pipe)。默认情况下,管道都是纯的,在自定义管道声明时把pure标志置为false,就是非纯管道。如:
@Pipe({ name: 'sexReform', pure:false })
纯管道和非纯管道的区别:
① 纯管道:
Angular只有检查到输入值发生纯变更时,才会执行纯管道。纯变更指的是,原始类型值(String,Number,Boolean,Symbol)的改变,或者对象引用的改变(对象值改变不是纯变更,不会执行).
② 非纯管道
Angular会在每个组件的变更检测周期执行非纯管道。所以,如果使用非纯管道,我们就得注意性能问题了。
管道使用语法
{{expression | pipe : arg}}
如果是链式串联:
{{expression | pipe1 : arg | pipe2 | pipe3 }}
常用内置管道
管道 | 类型 | 功能 |
---|---|---|
DatePipe | 纯管道 | 日期格式化 |
JsonPipe | 非纯管道 | 使用JSON.stringify()将对象转成json字符串 |
UpperCasePipe | 纯管道 | 将文本中的字母全部转在大写 |
LowerCasePipe | 纯管道 | 将文本中的字母全部转成小写 |
DecimalPipe | 纯管道 | 数值格式化 |
CurrencyPipe | 纯管道 | 货币格式化 |
PercentPipe | 纯管道 | 百分比格式化 |
SlicePipe | 非纯管道 | 数组或字符串取切割 |
DatePipe
语法: