如何调用具有多个参数的 Angular 2 管道?
2022-08-30 00:03:00
我知道我可以这样称呼管道:
{{ myData | date:'fullDate' }}
此处,日期管道仅采用一个参数。从组件的模板 HTML 中直接在代码中调用具有更多参数的管道的语法是什么?
我知道我可以这样称呼管道:
{{ myData | date:'fullDate' }}
此处,日期管道仅采用一个参数。从组件的模板 HTML 中直接在代码中调用具有更多参数的管道的语法是什么?
在组件的模板中,您可以通过用冒号分隔来使用多个参数:
{{ 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 { }
}
Beta 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];
...
}
}
你错过了实际的管道。
{{ myData | date:'fullDate' }}
多个参数可以用冒号(:)分隔。
{{ myData | myPipe:'arg1':'arg2':'arg3' }}
您也可以用链条管道,如下所示:
{{ myData | date:'fullDate' | myPipe:'arg1':'arg2':'arg3' }}