Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Angular Pipes

Pipes are a powerful feature in Angular that allow you to transform data in your templates. This tutorial provides an overview of Angular pipes, their key features, and how to create and use them effectively.

What is an Angular Pipe?

An Angular pipe is a class decorated with the @Pipe decorator that takes in data as input and transforms it to a desired output. Pipes are typically used in templates to format and display data in a readable way.

Key Features of Angular Pipes

Angular pipes provide several key features:

  • Data Transformation: Pipes allow you to transform data in your templates.
  • Reusable Logic: Pipes encapsulate reusable data transformation logic that can be used across different components and templates.
  • Built-in Pipes: Angular provides several built-in pipes for common data transformations, such as date formatting, currency formatting, and JSON serialization.
  • Custom Pipes: You can create custom pipes to implement your own data transformation logic.

Using Built-in Pipes

Angular provides several built-in pipes that you can use in your templates. Here are some examples:

DatePipe

The DatePipe formats a date value according to locale rules:

<p>{{ today | date:'fullDate' }}</p>

The today value is formatted as a full date string.

CurrencyPipe

The CurrencyPipe formats a number as a currency string:

<p>{{ price | currency:'USD' }}</p>

The price value is formatted as a USD currency string.

JsonPipe

The JsonPipe converts an object into a JSON string:

<pre>{{ data | json }}</pre>

The data object is formatted as a JSON string.

Creating a Custom Pipe

You can create a custom pipe to implement your own data transformation logic. Here is an example of a custom pipe that transforms a string to uppercase:

Step 1: Generate a Pipe

First, generate a new pipe using Angular CLI:

ng generate pipe my-pipe

This command creates the necessary files for the pipe.

Step 2: Implement the Pipe

Next, implement the pipe logic:

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

@Pipe({
  name: 'uppercase'
})
export class UppercasePipe implements PipeTransform {
  transform(value: string): string {
    return value.toUpperCase();
  }
}

Step 3: Use the Pipe in a Template

Finally, use the custom pipe in a template:

<p>{{ message | uppercase }}</p>

The message value is transformed to uppercase using the custom UppercasePipe.

Conclusion

Angular pipes are a powerful feature that allow you to transform data in your templates. By understanding and using built-in pipes, as well as creating custom pipes, you can effectively format and display data in your Angular applications. Happy coding!