Angular 中的内置管道

Angular中的管道为您提供了一种直接在模板中转换数据的简单方法。你可以创建自己的自定义管道,你也可以使用以下任何一个,它们是CommonModule的一部分,开箱即用:

<$>[注]这篇文章涵盖了角度2及以上<$>

异步

异步管道自动订阅可观察到的或承诺的内容,并在传入时返回发出的值:

1<ul>
2  <li *ngFor="let item of data | async">
3    {{ item.name }}
4  </li>
5</ul>

币种

货币管道允许以不同货币格式化数字:

1{{ price | currency:'CAD' }}
2{{ price | currency:'USD':true }}
3{{ price | currency:'EUR':false:3.2-2 }}
  • 第一个参数是带有本地货币代码的字符串。
  • 第二个可能的参数是显示将显示货币符号或货币代码的布尔值。默认值为FALSE,并显示货币代码。
  • 第三种可能是十进制管道格式的字符串,用于格式化数字。

Date

使用日期管道设置日期值的格式:

1{{ someDate | date:'medium' }}
2{{ someDate | date:'fullDate' }}
3{{ someDate | date:'yy' }}
4{{ someDate | date:'Hm' }}

您可以使用许多符号来定义自定义格式,也可以使用许多预定义的关键字。可用的关键字如下:'medium'、'short'、' fullDate '、' longDate '、' mediumDate '、' shortDate '、'mediumTime'和' shortTime '。

符号列表请参考官方reference接口。

小数

小数管道格式化十进制值:

1{{ decimalValue | number:'4.3-5' }}

在上面的例子('4.3 - 5')中,4是整数位的最小数目,3是分数位的最小数目,5是分数位的最大数目。

Json

Json管道对调试很有用,它将对象显示为Json字符串。它在幕后使用JSON.stringify:

1{{ someObject | json }}

小写和大写

使用相应的竖线将文本转换为小写或大写:

1{{ user.name | uppercase }}
2{{ user.name | lowercase }}

百分比

Percent管道将数字转换为它的百分比值:

1{{ decimalValue | percent }}
2{{ decimalValue | percent:'3.2-3' }}

可选参数是Decliter管道格式的字符串。

Slice

使用切片管道创建子集列表或字符串:

1{{ someText | slice:3:6 }}
2<ul>
3  <li *ngFor="let item of someList | slice:2">
4    {{ item }}
5  </li>
6</ul>

参数是起始索引和结束索引。结束索引可以省略,结果列表或字符串将包含从开始索引到结束的所有内容。

目前还有两个内置管道处于试验阶段:I18nPluralI18nSelect.👉

Published At
Categories with 技术
Tagged with
comments powered by Disqus