8

I would be glad to get some help importing a build-in pipe to a custom one in angular 2.

This is my code :

@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';

and this is the error i got:

EXCEPTION: Uncaught (in promise): Error: No provider for DecimalPipe!

When importing regular custom pipes in components, i am using :

@Component({
  ...,
  pipes: [MyCustomPipe],
  ...
})

1 Answer 1

15

For this to work you need to add DecimalPipe to providers somewhere

For example

@NgModule({
  providers: [DecimalPipe],
  ...
})
export class AppModule {}

You can also add it to providers of a component (either the one where you 're using the pipe, or an ancestor component.

Sign up to request clarification or add additional context in comments.

1 Comment

Glad to hear :) Please consider accepting my answer to indicate your problem is solved (clicking the white check mark below the up-down-vote button - thanks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.