次のようにパイプを呼び出すことができることはわかっています。
{{ myData | date:'fullDate' }}
ここで、日付パイプは引数を 1 つだけ取ります。コンポーネントのテンプレート HTML から、またはコード内で直接、より多くのパラメータを持つパイプを呼び出すための構文は何ですか?
ベストアンサー1
コンポーネントのテンプレートでは、コロンで区切って複数の引数を使用できます。
{{ myData | myPipe: 'arg1':'arg2':'arg3'... }}
コードは次のようになります。
new MyPipe().transform(myData, arg1, arg2, arg3)
パイプ内の変換関数では、次のような引数を使用できます。
export class MyPipe implements PipeTransform {
// specify every argument individually
transform(value: any, arg1: any, arg2: any, arg3: any): any { }
// or use a rest parameter
transform(value: any, ...args: any[]): any { }
}
ベータ 16 以前 (2016-04-26)
パイプはすべての引数を含む配列を受け取るので、次のように呼び出す必要があります。
new MyPipe().transform(myData, [arg1, arg2, arg3...])
変換関数は次のようになります。
export class MyPipe implements PipeTransform {
transform(value:any, args:any[]):any {
var arg1 = args[0];
var arg2 = args[1];
...
}
}