Else statement in Angular Else statement in Angular angular angular

Else statement in Angular


Syntax compatible with Angular 4.0 and beyond

<ng-template #elseTemplate>  Content displayed if expression returns false</ng-template><ng-container *ngIf="expression; else elseTemplate">  Content displayed if expression returns true</ng-container>

or

<ng-container *ngIf="expression; then thenBlock; else elseBlock"></ng-container><ng-template #thenBlock>  Content displayed if expression returns true</ng-template><ng-template #elseBlock>  Content displayed if expression returns false</ng-template>

Syntax compatible with Angular 2.0 and beyond

<ng-container *ngIf="expression">    true</ng-container><ng-container *ngIf="!expression">    else</ng-container>

Important

  • You can use e.g. <div>, or any other tag, instead of <ng-container>

  • <template> had been deprecated since 4.0 in favor of <ng-template> to avoid name collision with already existing tag.


With new Angular 4.0.0 syntax for else statement looks like this:

<div *ngIf="unfinishedTodos && unfinishedTodos.length > 0; else empty">   <div *ngFor="let todo of unfinishedTodos">      {{todo.title}}   </div></div><ng-template #empty>   empty</ng-template >


Try this

<div *ngFor="let todo of unfinishedTodos">    {{todo.title}}</div><div *ngIf="!unfinishedTodos?.length">    empty</div>