Angular中的内置管道

来自菜鸟教程
跳转至:导航、​搜索

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

这篇文章涵盖了 Angular 2 及更高版本


异步

Async 管道自动订阅 Observable 或 Promise 并在发出的值进入时返回它们:

<ul>
  <li *ngFor="let item of data | async">
    {{ item.name }}
  </li>
</ul>

货币

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

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

日期

使用 Date 管道格式化日期值:

{{ someDate | date:'medium' }}
{{ someDate | date:'fullDate' }}
{{ someDate | date:'yy' }}
{{ someDate | date:'Hm' }}

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

有关符号列表,请参阅官方 API 参考

十进制

Decimal 管道格式化十进制值:

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

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

json

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

{{ someObject | json }}

小写和大写

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

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

百分

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

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

可选参数是十进制管道格式的字符串。

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

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

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

👉 还有另外 2 个内置管道目前处于实验阶段:I18nPluralI18nSelect