Angular 中的管道其实就是angularjs中的过滤器,用来转换数据而后显示给用户。 要建立一个管道,必须实现 PipeTransform 接口。这个接口很是简单,只须要实现transform
方法便可。 使用管道的几个注意事项:node
{{date | date: 'fullDate' | uppercase}}
使用 impure 管道时候要当心,极可能触发很是频繁。angularjs
filteredHeroes
或 sortedHeroes
属性Angular提供了json和async管道,咱们来分析下源码json
/node_modules/@angular/common/esm5/src/pipes/json_pipe.js 很是简单,就一行话。 JsonPipe.prototype.transform = function (value) { return JSON.stringify(value, null, 2); };
segmentfault
这个是Angular特有的管道,能够多使用 其实会处理两种对象类型,Observable或Promise,简单说若是是Observable会执行subscription方法,若是是Promise会调用then方法。若是是Observable当组件销毁时执行unsubscribe方法取消订阅。 node_modules/@angular/common/esm5/src/pipes/async_pipe.js:11api