Pipes

From Get docs
Angular/docs/8/guide/pipes


Pipes

Every application starts out with what seems like a simple task: get data, transform them, and show them to users. Getting data could be as simple as creating a local variable or as complex as streaming data over a WebSocket.

Once data arrives, you could push their raw toString values directly to the view, but that rarely makes for a good user experience. For example, in most use cases, users prefer to see a date in a simple format like April 15, 1988 rather than the raw string format Fri Apr 15 1988 00:00:00 GMT-0700 (Pacific Daylight Time).

Clearly, some values benefit from a bit of editing. You may notice that you desire many of the same transformations repeatedly, both within and across many applications. You can almost think of them as styles. In fact, you might like to apply them in your HTML templates as you do styles.

Introducing Angular pipes, a way to write display-value transformations that you can declare in your HTML.

You can run the live example in Stackblitz and download the code from there.

Using pipes

A pipe takes in data as input and transforms it to a desired output. In this page, you'll use pipes to transform a component's birthday property into a human-friendly date.

import { Component } from '@angular/core';

@Component({
  selector: 'app-hero-birthday',
  template: `<p>The hero's birthday is {{ birthday | date }}</p>`
})
export class HeroBirthdayComponent {
  birthday = new Date(1988, 3, 15); // April 15, 1988
}

Focus on the component's template.

<p>The hero's birthday is {{ birthday | date }}</p>

Inside the interpolation expression, you flow the component's birthday value through the pipe operator ( | ) to the Date pipe function on the right. All pipes work this way.

Built-in pipes

Angular comes with a stock of pipes such as DatePipe, UpperCasePipe, LowerCasePipe, CurrencyPipe, and PercentPipe. They are all available for use in any template.

Read more about these and many other built-in pipes in the pipes topics of the API Reference; filter for entries that include the word "pipe".

Angular doesn't have a FilterPipe or an OrderByPipe for reasons explained in the Appendix of this page.

Parameterizing a pipe

A pipe can accept any number of optional parameters to fine-tune its output. To add parameters to a pipe, follow the pipe name with a colon ( : ) and then the parameter value (such as currency:'EUR'). If the pipe accepts multiple parameters, separate the values with colons (such as slice:1:5)

Modify the birthday template to give the date pipe a format parameter. After formatting the hero's April 15th birthday, it renders as 04/15/88:

<p>The hero's birthday is {{ birthday | date:"MM/dd/yy" }} </p>

The parameter value can be any valid template expression, (see the Template expressions section of the Template Syntax page) such as a string literal or a component property. In other words, you can control the format through a binding the same way you control the birthday value through a binding.

Write a second component that binds the pipe's format parameter to the component's format property. Here's the template for that component:

template: `
  <p>The hero's birthday is {{ birthday | date:format }}</p>
  <button (click)="toggleFormat()">Toggle Format</button>
`

You also added a button to the template and bound its click event to the component's toggleFormat() method. That method toggles the component's format property between a short form ('shortDate') and a longer form ('fullDate').

export class HeroBirthday2Component {
  birthday = new Date(1988, 3, 15); // April 15, 1988
  toggle = true; // start with true == shortDate

  get format()   { return this.toggle ? 'shortDate' : 'fullDate'; }
  toggleFormat() { this.toggle = !this.toggle; }
}

As you click the button, the displayed date alternates between "04/15/1988" and "Friday, April 15, 1988".

[[../File:data:image/gif;base64,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|thumb|none|300x62px]]

Read more about the DatePipe format options in the Date Pipe API Reference page.

Chaining pipes

You can chain pipes together in potentially useful combinations. In the following example, to display the birthday in uppercase, the birthday is chained to the DatePipe and on to the UpperCasePipe. The birthday displays as APR 15, 1988.

The chained hero's birthday is
{{ birthday | date | uppercase}}

This example—which displays FRIDAY, APRIL 15, 1988—chains the same pipes as above, but passes in a parameter to date as well.

The chained hero's birthday is
{{  birthday | date:'fullDate' | uppercase}}

Custom pipes

You can write your own custom pipes. Here's a custom pipe named ExponentialStrengthPipe that can boost a hero's powers:

import { Pipe, PipeTransform } from '@angular/core';
/*
 * Raise the value exponentially
 * Takes an exponent argument that defaults to 1.
 * Usage:
 *   value | exponentialStrength:exponent
 * Example:
 *   {{ 2 | exponentialStrength:10 }}
 *   formats to: 1024
*/
@Pipe({name: 'exponentialStrength'})
export class ExponentialStrengthPipe implements PipeTransform {
  transform(value: number, exponent?: number): number {
    return Math.pow(value, isNaN(exponent) ? 1 : exponent);
  }
}

This pipe definition reveals the following key points:

  • A pipe is a class decorated with pipe metadata.
  • The pipe class implements the PipeTransform interface's transform method that accepts an input value followed by optional parameters and returns the transformed value.
  • There will be one additional argument to the transform method for each parameter passed to the pipe. Your pipe has one such parameter: the exponent.
  • To tell Angular that this is a pipe, you apply the @Pipe decorator, which you import from the core Angular library.
  • The @Pipe decorator allows you to define the pipe name that you'll use within template expressions. It must be a valid JavaScript identifier. Your pipe's name is exponentialStrength.

== The PipeTransform interface ==

The transform method is essential to a pipe. The PipeTransform interface defines that method and guides both tooling and the compiler. Technically, it's optional; Angular looks for and executes the transform method regardless.

Now you need a component to demonstrate the pipe.

import { Component } from '@angular/core';

@Component({
  selector: 'app-power-booster',
  template: `
    <h2>Power Booster</h2>
    <p>Super power boost: {{2 | exponentialStrength: 10}}</p>
  `
})
export class PowerBoosterComponent { }

[[../File:data:image/png;base64,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|thumb|none|300x105px]]

Note the following:

  • You use your custom pipe the same way you use built-in pipes.
  • You must include your pipe in the declarations array of the AppModule
  • If you choose to inject your pipe into a class, you must provide it in the providers array of your NgModule.

Remember the declarations array

You must register custom pipes. If you don't, Angular reports an error. The Angular CLI's generator registers the pipe automatically.


To probe the behavior in the live example, change the value and optional exponent in the template.

Power Boost Calculator

It's not much fun updating the template to test the custom pipe. Upgrade the example to a "Power Boost Calculator" that combines your pipe and two-way data binding with ngModel.

import { Component } from '@angular/core';

@Component({
  selector: 'app-power-boost-calculator',
  template: `
    <h2>Power Boost Calculator</h2>
    <div>Normal power: <input [(ngModel)]="power"></div>
    <div>Boost factor: <input [(ngModel)]="factor"></div>
    <p>
      Super Hero Power: {{power | exponentialStrength: factor}}
    </p>
  `
})
export class PowerBoostCalculatorComponent {
  power = 5;
  factor = 1;
}

[[../File:data:image/gif;base64,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kNqoelqBCSKYVMhfgPqlXhqqbUqhYEqqd3qppVanloqpXseqqzqHkDiFkXeQ3RekiZKLeGoQD5huJLWjr9p6Jwcn6jKK0vaRQskZ4ZGX5YQdg8RcnyqqgdqlBqEuuEoYOxeZhUF6u8hmYVKTgtKLv8p42iRrWekmW/EtaySKYzOtYaIx4coSSROVeKlyDpItkiiO2Pp65kpsikJ1uCJTqFJ6AwewkoJQeDkg/DZywaouDOEg7vqTipipv3pN1dJv2ZRvcVN0ATet7kE64SZyVlJxCDmt10KVBfl59pqxMNd9tqerrLhuLQuqzzqzFDY/lP/zcnXpJtdHOiKLENd6SnLJs1oJkPHXLIRiksmWtIlnKB7ijCOxrDzyroPqcuGmeGfnkz6pr8mItVkDMrqjryeJleIWKWXHeL0ITtMGrlJ7lVAJsWFXsUuZeIfxswfXsEOblcxYrq/3LbS0rk+ZbuvWEKOETmq7tmenmYWCsVjpO3QJtqkIL94yNjm7lRmnOFHZbSUpQyY0uftIFisyHBFRToqCUjQrs9EKqggBPo9itNnRsSbFLpKCTeJSKtInNngpdidVIrOrq7kbKroimVFnr4QbjnRkjuNUuIbLEYGbvMyrE8vbvM2LVHLZitBqutZbvdhbutl7ul2StdD7q2gp+r3iO77ku6Xbe73am77cq77oy6nl+77wG7/yO7/0W7/2e7/4m79LERAAIfkEBTIAAAAsAAAAACgBiAAACP8AZwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw4tHH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YZGBQQAOw==|thumb|none|296x136px]]

Pipes and change detection

Angular looks for changes to data-bound values through a change detection process that runs after every DOM event: every keystroke, mouse move, timer tick, and server response. This could be expensive. Angular strives to lower the cost whenever possible and appropriate.

Angular picks a simpler, faster change detection algorithm when you use a pipe.

No pipe

In the next example, the component uses the default, aggressive change detection strategy to monitor and update its display of every hero in the heroes array. Here's the template:

New hero:
  <input type="text" #box
          (keyup.enter)="addHero(box.value); box.value=''"
          placeholder="hero name">
  <button (click)="reset()">Reset</button>
  <div *ngFor="let hero of heroes">
    {{hero.name}}
  </div>

The companion component class provides heroes, adds heroes into the array, and can reset the array.

export class FlyingHeroesComponent {
  heroes: any[] = [];
  canFly = true;
  constructor() { this.reset(); }

  addHero(name: string) {
    name = name.trim();
    if (!name) { return; }
    let hero = {name, canFly: this.canFly};
    this.heroes.push(hero);
  }

  reset() { this.heroes = HEROES.slice(); }
}

You can add heroes and Angular updates the display when you do. If you click the reset button, Angular replaces heroes with a new array of the original heroes and updates the display. If you added the ability to remove or change a hero, Angular would detect those changes and update the display as well.

FlyingHeroesPipe

Add a FlyingHeroesPipe to the *ngFor repeater that filters the list of heroes to just those heroes who can fly.

<div *ngFor="let hero of (heroes | flyingHeroes)">
  {{hero.name}}
</div>

Here's the FlyingHeroesPipe implementation, which follows the pattern for custom pipes described earlier.

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

import { Flyer } from './heroes';

@Pipe({ name: 'flyingHeroes' })
export class FlyingHeroesPipe implements PipeTransform {
  transform(allHeroes: Flyer[]) {
    return allHeroes.filter(hero => hero.canFly);
  }
}

Notice the odd behavior in the live example: when you add flying heroes, none of them are displayed under "Heroes who fly."

Although you're not getting the behavior you want, Angular isn't broken. It's just using a different change-detection algorithm that ignores changes to the list or any of its items.

Notice how a hero is added:

this.heroes.push(hero);

You add the hero into the heroes array. The reference to the array hasn't changed. It's the same array. That's all Angular cares about. From its perspective, same array, no change, no display update.

To fix that, create an array with the new hero appended and assign that to heroes. This time Angular detects that the array reference has changed. It executes the pipe and updates the display with the new array, which includes the new flying hero.

If you mutate the array, no pipe is invoked and the display isn't updated; if you replace the array, the pipe executes and the display is updated. The Flying Heroes application extends the code with checkbox switches and additional displays to help you experience these effects.

[[../File:data:image/gif;base64,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Aiy3Nbx8I1LqyDeaZr49VhDNKj5i777+PxcUFPg8YGKSCUH/hYeACS/AQEB//BnyX1MLQuVTgPJBlSCAEtpn4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLLbo4oswxijjjDTWaOONOOao44489ujjj0AGKeSQRBZp5JEopoBk/zUDqKKCAEtW84BmUVZp5ZVYZqnlllx26eWXYIYp5phklmnmmWimqeaabLbp5ptwxinnnHTWaeedeOap55589unnn4AGKuighBZq6KGIJqrooow26uijkEYq6aSUVmrppZhmqummnHbq6aeghirqqKSWauqpqKaq6qqsturqq7DGKuustNZq66245qrrrrz26uuvwAYr7LDEFmvsscgmq+yyzDbr7LPQRivttNRWa+212Gar7bbcduvtt+CGK+645JZr7rnopqvuuuy26+678MYr77z01mvvvfjm+6J6+vbr778At2IZpBs0GfDBCCes8MIM/6pBZY3S1HB5sE1s8fTFGGes8cYaRwBlLPy+ycEM77BSMccop6zyyiy37PLLMMcs88w012zzzTjnrPPOPPfs889ABy300BpHp512Jxtyz3531rRBBAUYsMHUSRfSQQEh3wnBAKY88sAMTOu5dYOkQaCkIOfYlEABDYqN9W4DPD0DX1BHsEHUWdu59SQKFKDZAwWckEIB/kAdIZ57H7C2dlB/Y4MtgHe9JwRvU27QNxCcsPUgg+ddZ+IAFODOUgqgUEA+oR+u9QCTBBD3A16dHoAAGyjwwABv8wmBALYocHcB2QjiewEDRDCA6n5mfRY0zDfv/PPQRy/99NRXb/31uAQCACH5BAUeAAIALHkANQAHAA8AAAc6gAKCGoSEIyCEgoKIGooCIAgAAYohChGOI5aOIAokEAqCIR6OApmXlB8QmJqLnKQjhYaMjiIBAQgBgQAh+QQFFAABACwSADUARQAOAQAH/4ABgoOEhYaHiIkBHIqNjo+HCAOPB5CWl4gIAQ+YnZ6foKGio6SlpqeoqaqrrJgGrbCxqwUAsra3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfYu5y6laAbk7sd29nk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAMKHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmy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|thumb|none|360x412px]]

Replacing the array is an efficient way to signal Angular to update the display. When do you replace the array? When the data changes. That's an easy rule to follow in this example where the only way to change the data is by adding a hero.

More often, you don't know when the data has changed, especially in applications that mutate data in many ways, perhaps in application locations far away. A component in such an application usually can't know about those changes. Moreover, it's unwise to distort the component design to accommodate a pipe. Strive to keep the component class independent of the HTML. The component should be unaware of pipes.

For filtering flying heroes, consider an impure pipe.

Pure and impure pipes

There are two categories of pipes: pure and impure. Pipes are pure by default. Every pipe you've seen so far has been pure. You make a pipe impure by setting its pure flag to false. You could make the FlyingHeroesPipe impure like this:

@Pipe({
  name: 'flyingHeroesImpure',
  pure: false
})

Before doing that, understand the difference between pure and impure, starting with a pure pipe.

Pure pipes

Angular executes a pure pipe only when it detects a pure change to the input value. A pure change is either a change to a primitive input value (String, Number, Boolean, Symbol) or a changed object reference (Date, Array, Function, Object).

Angular ignores changes within (composite) objects. It won't call a pure pipe if you change an input month, add to an input array, or update an input object property.

This may seem restrictive but it's also fast. An object reference check is fast—much faster than a deep check for differences—so Angular can quickly determine if it can skip both the pipe execution and a view update.

For this reason, a pure pipe is preferable when you can live with the change detection strategy. When you can't, you can use the impure pipe.

Or you might not use a pipe at all. It may be better to pursue the pipe's purpose with a property of the component, a point that's discussed later in this page.

Impure pipes

Angular executes an impure pipe during every component change detection cycle. An impure pipe is called often, as often as every keystroke or mouse-move.

With that concern in mind, implement an impure pipe with great care. An expensive, long-running pipe could destroy the user experience.

An impure FlyingHeroesPipe

A flip of the switch turns the FlyingHeroesPipe into a FlyingHeroesImpurePipe. The complete implementation is as follows:

@Pipe({
  name: 'flyingHeroesImpure',
  pure: false
})
export class FlyingHeroesImpurePipe extends FlyingHeroesPipe {}
import { Pipe, PipeTransform } from '@angular/core';

import { Flyer } from './heroes';

@Pipe({ name: 'flyingHeroes' })
export class FlyingHeroesPipe implements PipeTransform {
  transform(allHeroes: Flyer[]) {
    return allHeroes.filter(hero => hero.canFly);
  }
}

You inherit from FlyingHeroesPipe to prove the point that nothing changed internally. The only difference is the pure flag in the pipe metadata.

This is a good candidate for an impure pipe because the transform function is trivial and fast.

return allHeroes.filter(hero => hero.canFly);

You can derive a FlyingHeroesImpureComponent from FlyingHeroesComponent.

<div *ngFor="let hero of (heroes | flyingHeroesImpure)">
  {{hero.name}}
</div>

The only substantive change is the pipe in the template. You can confirm in the live example that the flying heroes display updates as you add heroes, even when you mutate the heroes array.

The impure AsyncPipe

The Angular AsyncPipe is an interesting example of an impure pipe. The AsyncPipe accepts a Promise or Observable as input and subscribes to the input automatically, eventually returning the emitted values.

The AsyncPipe is also stateful. The pipe maintains a subscription to the input Observable and keeps delivering values from that Observable as they arrive.

This next example binds an Observable of message strings (message$) to a view with the async pipe.

import { Component } from '@angular/core';

import { Observable, interval } from 'rxjs';
import { map, take } from 'rxjs/operators';

@Component({
  selector: 'app-hero-message',
  template: `
    <h2>Async Hero Message and AsyncPipe</h2>
    <p>Message: {{ message$ | async }}</p>
    <button (click)="resend()">Resend</button>`,
})
export class HeroAsyncMessageComponent {
  message$: Observable<string>;

  private messages = [
    'You are my hero!',
    'You are the best hero!',
    'Will you be my hero?'
  ];

  constructor() { this.resend(); }

  resend() {
    this.message$ = interval(500).pipe(
      map(i => this.messages[i]),
      take(this.messages.length)
    );
  }
}

The Async pipe saves boilerplate in the component code. The component doesn't have to subscribe to the async data source, extract the resolved values and expose them for binding, and have to unsubscribe when it's destroyed (a potent source of memory leaks).

An impure caching pipe

Write one more impure pipe, a pipe that makes an HTTP request.

Remember that impure pipes are called every few milliseconds. If you're not careful, this pipe will punish the server with requests.

In the following code, the pipe only calls the server when the requested URL changes and it caches the server response. The code uses the Angular http client to retrieve data:

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

@Pipe({
  name: 'fetch',
  pure: false
})
export class FetchJsonPipe implements PipeTransform {
  private cachedData: any = null;
  private cachedUrl = '';

  constructor(private http: HttpClient) { }

  transform(url: string): any {
    if (url !== this.cachedUrl) {
      this.cachedData = null;
      this.cachedUrl = url;
      this.http.get(url).subscribe(result => this.cachedData = result);
    }

    return this.cachedData;
  }
}

Now demonstrate it in a harness component whose template defines two bindings to this pipe, both requesting the heroes from the heroes.json file.

import { Component } from '@angular/core';

@Component({
  selector: 'app-hero-list',
  template: `
    <h2>Heroes from JSON File</h2>

    <div *ngFor="let hero of ('assets/heroes.json' | fetch) ">
      {{hero.name}}
    </div>

    <p>Heroes as JSON:
      {{'assets/heroes.json' | fetch | json}}
    </p>`
})
export class HeroListComponent { }

The component renders as the following:

[[../File:data:image/png;base64,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|thumb|none|400x232px]]

A breakpoint on the pipe's request for data shows the following:

  • Each binding gets its own pipe instance.
  • Each pipe instance caches its own URL and data.
  • Each pipe instance only calls the server once.

JsonPipe

In the previous code sample, the second fetch pipe binding demonstrates more pipe chaining. It displays the same hero data in JSON format by chaining through to the built-in JsonPipe.

Debugging with the json pipe

The JsonPipe provides an easy way to diagnose a mysteriously failing data binding or inspect an object for future binding.


Pure pipes and pure functions

A pure pipe uses pure functions. Pure functions process inputs and return values without detectable side effects. Given the same input, they should always return the same output.

The pipes discussed earlier in this page are implemented with pure functions. The built-in DatePipe is a pure pipe with a pure function implementation. So are the ExponentialStrengthPipe and FlyingHeroesPipe. A few steps back, you reviewed the FlyingHeroesImpurePipe—an impure pipe with a pure function.

But always implement a pure pipe with a pure function. Otherwise, you'll see many console errors regarding expressions that changed after they were checked.

Next steps

Pipes are a great way to encapsulate and share common display-value transformations. Use them like styles, dropping them into your template's expressions to enrich the appeal and usability of your views.

Explore Angular's inventory of built-in pipes in the API Reference. Try writing a custom pipe and perhaps contributing it to the community.

Appendix: No FilterPipe or OrderByPipe

Angular doesn't provide pipes for filtering or sorting lists. Developers familiar with AngularJS know these as filter and orderBy. There are no equivalents in Angular.

This isn't an oversight. Angular doesn't offer such pipes because they perform poorly and prevent aggressive minification. Both filter and orderBy require parameters that reference object properties. Earlier in this page, you learned that such pipes must be impure and that Angular calls impure pipes in almost every change-detection cycle.

Filtering and especially sorting are expensive operations. The user experience can degrade severely for even moderate-sized lists when Angular calls these pipe methods many times per second. filter and orderBy have often been abused in AngularJS apps, leading to complaints that Angular itself is slow. That charge is fair in the indirect sense that AngularJS prepared this performance trap by offering filter and orderBy in the first place.

The minification hazard is also compelling, if less obvious. Imagine a sorting pipe applied to a list of heroes. The list might be sorted by hero name and planet of origin properties in the following way:

<!-- NOT REAL CODE! -->
  <div *ngFor="let hero of heroes | orderBy:'name,planet'"></div>

You identify the sort fields by text strings, expecting the pipe to reference a property value by indexing (such as hero['name']). Unfortunately, aggressive minification manipulates the Hero property names so that Hero.name and Hero.planet become something like Hero.a and Hero.b. Clearly hero['name'] doesn't work.

While some may not care to minify this aggressively, the Angular product shouldn't prevent anyone from minifying aggressively. Therefore, the Angular team decided that everything Angular provides will minify safely.

The Angular team and many experienced Angular developers strongly recommend moving filtering and sorting logic into the component itself. The component can expose a filteredHeroes or sortedHeroes property and take control over when and how often to execute the supporting logic. Any capabilities that you would have put in a pipe and shared across the app can be written in a filtering/sorting service and injected into the component.

If these performance and minification considerations don't apply to you, you can always create your own such pipes (similar to the FlyingHeroesPipe) or find them in the community.

© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v8.angular.io/guide/pipes