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> </div>
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.