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