WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Angular · Basic · question 12 of 100

How do you create a custom pipe in Angular?

📕 Buy this interview preparation book: 100 Angular questions & answers — PDF + EPUB for $5

Creating a custom pipe in Angular involves a few steps. First, you need to generate the pipe, implement the ‘PipeTransform‘ interface, define the logic for your pipe, and finally, use the pipe in your templates.

1. Generate the pipe:

You can generate a new pipe using Angular CLI by running the following command:

ng generate pipe my-custom-pipe

This will create a new file named ‘my-custom-pipe.pipe.ts‘ in your ‘src/app‘ directory.

2. Implement the ‘PipeTransform‘ interface:

In your ‘my-custom-pipe.pipe.ts‘ file, you’ll see an automatically generated pipe class. This class should implement the ‘PipeTransform‘ interface which requires a single method, ‘transform()‘.

Here’s an example of what the basic structure of your custom pipe should look like:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'myCustomPipe'
})
export class MyCustomPipePipe implements PipeTransform {
  transform(value: any, ...args: any[]): any {
    // Transformation logic goes here
  }
}

3. Define the logic for your pipe:

Inside the ‘transform()‘ method, you should implement the logic for your custom pipe. This method takes the input value and optional extra arguments, and it returns the transformed value.

For example, let’s create a pipe that capitalizes the first letter of a string:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'capitalize'
})
export class CapitalizePipe implements PipeTransform {
  transform(value: string): string {
    if (value && value.length > 0) {
      return value.charAt(0).toUpperCase() + value.slice(1);
    }
    return value;
  }
}

4. Use the pipe in your templates:

To use your custom pipe, first, add it to the ‘declarations‘ array in your ‘src/app/app.module.ts‘:

import { CapitalizePipe } from './my-custom-pipe.pipe';

@NgModule({
  declarations: [
    // ... other declarations ...
    CapitalizePipe,
  ],
  // ... other module properties ...
})
export class AppModule { }

Now, you can use the pipe in your template like this:

<p>{{ 'hello world' | capitalize }}</p>

This would render as:

Hello world

That’s it! You’ve created a custom pipe in Angular. You can use this approach to develop more complex pipes depending on your needs.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Angular interview — then scores it.
📞 Practice Angular — free 15 min
📕 Buy this interview preparation book: 100 Angular questions & answers — PDF + EPUB for $5

All 100 Angular questions · All topics