Angular 使用自定义管道
Angular using pipe from custom one
我很乐意在 angular 2.
中获得一些帮助,将内置管道导入自定义管道
这是我的代码:
@Pipe({ name: 'tablePipe' })
export class TablePipe implements PipeTransform {
constructor(private decimalPipe: DecimalPipe) {
}
transform(field: any, format: Format, formatArg: string): any {
let formattedField: any = ''
switch (format) {
case 'number':
{
formattedField = this.decimalPipe.transform(field, formatArg);
break;
}
}
return formattedField;
}
}
export type Format = 'date' | 'string' | 'number';
这是我得到的错误:
EXCEPTION: Uncaught (in promise): Error: No provider for DecimalPipe!
在组件中导入常规自定义管道时,我使用的是:
@Component({
...,
pipes: [MyCustomPipe],
...
})
为此,您需要将 DecimalPipe
添加到某处的提供商
例如
@NgModule({
providers: [DecimalPipe],
...
})
export class AppModule {}
您还可以将其添加到组件的 providers
(您使用管道的组件或祖先组件。
我很乐意在 angular 2.
中获得一些帮助,将内置管道导入自定义管道这是我的代码:
@Pipe({ name: 'tablePipe' })
export class TablePipe implements PipeTransform {
constructor(private decimalPipe: DecimalPipe) {
}
transform(field: any, format: Format, formatArg: string): any {
let formattedField: any = ''
switch (format) {
case 'number':
{
formattedField = this.decimalPipe.transform(field, formatArg);
break;
}
}
return formattedField;
}
}
export type Format = 'date' | 'string' | 'number';
这是我得到的错误:
EXCEPTION: Uncaught (in promise): Error: No provider for DecimalPipe!
在组件中导入常规自定义管道时,我使用的是:
@Component({
...,
pipes: [MyCustomPipe],
...
})
为此,您需要将 DecimalPipe
添加到某处的提供商
例如
@NgModule({
providers: [DecimalPipe],
...
})
export class AppModule {}
您还可以将其添加到组件的 providers
(您使用管道的组件或祖先组件。