Tutorial

NgSwitch Directive in Angular

Angular

While this tutorial has content that we believe is of great benefit to our community, we have not yet tested or edited it to ensure you have an error-free learning experience. It's on our list, and we're working on it! You can help us out by using the "report an issue" button at the bottom of the tutorial.

Like ngFor and ngIf, ngSwitch is a built-in template directive. It behaves in a similar way as a JavaScript switch statement. Use it to include one of multiple possible element trees in the DOM.

This post covers Angular 2 and up

<div [ngSwitch]="dietSelection">
  <p *ngSwitchCase="'gf'">Gluten-free</p>
  <p *ngSwitchCase="'veg'">Vegetarian / Vegan</p>
  <p *ngSwitchCase="'paleo'">Paleo</p>
  <p *ngSwitchDefault>Standard diet</p>
</span>

In the above example, if dietSelection is set to ‘gf’, only the paragraph with Gluten-free will be included in the DOM. If that paragraph contained children DOM elements, these would also be included.

Notice how the syntax is slightly different than the syntax for ngIf or ngFor, with the ngSwitch used as a property binding and without the * character. Instead, the * goes with the ngSwitchCase and ngSwitchDefault directives, because they are the ones creating a template.

See Also

0 Comments

Creative Commons License