Angular: ngIf, else et variable

Article à garder sous le coude : https://ultimatecourses.com/blog/angular-ngif-else-then

Un exemple plus perso disponible.

<div *ngIf="this.getState(m, d, i); else noVote; let state" >
    <app-weather-image [state]="state"></app-weather-image>
</div>
<ng-template #noVote>
     { { 'NOTVOTED' | translate }}
</ng-template>

Quelques explications : *ngIf=”this.getState(m, d, i); else noVote; let state”

le *ngIf est assez classique mais après :

  • else noVote : indique si le est faux, on affiche le templace pointé par #noVote,
  • let state: stocke le résultat de la fonction. Ce qui est pratique car il est possible d’utiliser la variable dans la suite du template.

Attention cependant, c’est bien le résultat du test qui est stocké donc si le code est this.getState(m, d, i) > 0 dans cas state contiendra toujours true.