# 了解管道
使用管道来转换字符串、货币金额、日期和其他数据以进行显示。
# 什么是管道
管道是在模板表达式中使用的简单函数,用于接受输入值并返回转换后的值。管道很有用,因为你可以在整个应用程序中使用它们,同时每个管道只声明一次。例如,你可以用管道将日期显示为**1988 年 4 月 15 日,**而不是原始字符串格式。
TIP
对于本主题中使用的示例应用程序,请参阅现场演练/ 下载范例
.
# 内置管道
Angular 为典型的数据转换提供了内置的管道,包括国际化的转换(i18n),它使用本地化信息来格式化数据。数据格式化常用的内置管道如下:
DatePipe
:根据本地环境中的规则格式化日期值。UpperCasePipe
:把文本全部转换成大写。LowerCasePipe
:把文本全部转换成小写。CurrencyPipe
:把数字转换成货币字符串,根据本地环境中的规则进行格式化。DecimalPipe
:把数字转换成带小数点的字符串,根据本地环境中的规则进行格式化。PercentPipe
:把数字转换成百分比字符串,根据本地环境中的规则进行格式化。
TIP
关于内置管道的完整列表,请参阅管道 API 文档。
要了解有关使用管道进行国际化 (i18n) 工作的更多信息,请参阅根据区域设置格式化数据。
你还可以创建管道来封装自定义转换,并在模板表达式中使用自定义管道。
# 管道的优先级
管道操作符要比三目运算符(?:
)的优先级高,这意味着 a ? b : c | x
会被解析成 a ? b : (c | x)
。
由于这种优先级设定,如果你要用管道处理三目元算符的结果,就要把整个表达式包裹在括号中,比如 (a ? b : c) | x
。
src/app/precedence.component.html
<!-- use parentheses in the third operand so the pipe applies to the whole expression -->
{{ (true ? 'true' : 'false') | uppercase }}