Me complacería obtener ayuda para importar una tubería incorporada a una personalizada en angular 2.
Este es mi código:
@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';y este es el error que tengo:
EXCEPCIÓN: No capturado (en promesa): Error: ¡No hay proveedor para DecimalPipe!
Al importar tuberías personalizadas regulares en componentes, estoy usando:
@Component({ ..., pipes: [MyCustomPipe], ... })Para que esto funcione, debe agregar DecimalPipe a los proveedores en algún lugar
Por ejemplo
@NgModule({ providers: [DecimalPipe], ... }) export class AppModule {} También puede agregarlo a los providers de un componente (ya sea en el que está utilizando la canalización o un componente de antepasado).