Ho creato un'enumerazione con Typescript da utilizzare in MyService.service.ts MyComponent.component.ts e MyComponent.component.html.
export enum ConnectionResult {
Success,
Failed
}
Posso facilmente ottenere e confrontare una variabile enum definita da MyService.service.ts:
this.result = this.myService.getConnectionResult();
switch(this.result)
{
case ConnectionResult.Failed:
doSomething();
break;
case ConnectionResult.Success:
doSomething();
break;
}
Volevo anche usare l'enumerazione per un confronto all'interno del mio HTML usando l'istruzione * ngIf:
<div *ngIf="result == ConnectionResult.Success; else failed">
<img src="../../assets/connection-success.png" height="300px" class="image-sign-style" />
</div>
<ng-template #failed>
<img src="../../assets/connection-failed.png" height="300px" class="image-sign-style" />
</ng-template>
Il codice si compila ma il browser mi dà un errore:
Impossibile leggere la proprietà di undefined
Con la seguente riga di errore di indicazione html:
Qualcuno sa perché l'enum non può essere affrontato in questo modo?