私の知る限り、古い方法はサポートされていません。
これには回避策がありますが、それがクリーンな方法かどうかはわかりません;-)
フィルター処理された値をコンポーネントに保存するために、パイプ チェーンの最後に配置するカスタム パイプ (dump
次のサンプルのパイプ) を実装できます。
@Pipe({
name: 'filter'
})
export class FilterPipe {
(...)
}
@Pipe({
name: 'sort'
})
export class FilterPipe {
(...)
}
@Pipe({
name: 'dump'
})
export class DumpPipe {
constructor(@Inject(forwardRef(() => AppComponent)) app:AppComponent) {
this.app = app;
}
transform(array: Array<string>, args: string): Array<string> {
this.app.save(array);
return array;
}
}
@Component({
selector: 'my-app',
template: `
<div>
<span *ngFor="#l of (list | filter | sort)">{{l}}</span>
</div>
`,
pipes: [ FilterPipe, SortPipe, DumpFilter ]
})
export class AppComponent {
constructor() {
this.list = [ 'n', 'g', 'a', 'u', 'r', 'l' ];
}
save(array) {
console.log('save array = '+array);
}
}
式が評価されると、dump
パイプはsave
フィルタリングおよびソートされた値を使用してコンポーネントのメソッドを呼び出します。
対応する plunkr は次のとおりです: https://plnkr.co/edit/xv4BTq7aCyKJSKcA9qB9?p=preview
お役に立てば幸いです、ティエリー