用途:在 Angular 应用中处理数据转换与展示,包括自定义管道、纯管道(pure pipes)、非纯管道(impure pipes)以及 async 管道。
主要能力与 API 变化:基于 Angular 21(2025)。新增独立管道(standalone pipes),所有管道都可 standalone;新增基于 Signal 的管道;可在管道中使用 inject() 进行函数式依赖注入;非纯管道(impure pipes)已标记为不推荐,因性能原因建议改用纯管道。
使用方式:用 @Pipe 装饰器定义管道并实现 PipeTransform 的 transform 方法;在模板中用管道符调用,支持传参(如 {{ text | slice:0:10 }})、链式调用(如 {{ name | uppercase | slice:0:5 }})。内置管道示例包括 currency、json、date、keyvalue。async 管道可配合 @if 使用,例如 @if (user$ | async; as user)。独立管道需在组件的 imports 中声明,如 imports: [DatePipe, CurrencyPipe, CapitalizePipe]。
最佳实践:无状态转换使用纯管道;仅必要时使用非纯管道(pure: false,会在每次变更检测时运行);用 KeyValue 管道遍历对象,用 Json 管道调试,模板中可链式组合管道。
适用场景:Angular 组件模板中的数据格式化、异步数据展示、对象迭代与调试输出。
限制:非纯管道影响性能,官方建议避免;资料给出的是代码示例与最佳实践,未提供价格、收费、使用步骤细节或安装命令,这些暂未提供。