Zrobiłem wyliczenie z Typescript do użycia w MyService.service.ts MyComponent.component.ts i MyComponent.component.html.
export enum ConnectionResult {
Success,
Failed
}
Mogę łatwo pobrać i porównać zdefiniowaną zmienną wyliczenia z MyService.service.ts:
this.result = this.myService.getConnectionResult();
switch(this.result)
{
case ConnectionResult.Failed:
doSomething();
break;
case ConnectionResult.Success:
doSomething();
break;
}
Chciałem również użyć wyliczenia do porównania w moim kodzie HTML za pomocą instrukcji * 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>
Kod kompiluje się, ale przeglądarka wyświetla błąd:
Nie można odczytać właściwości undefined
Z następującą linią błędu wskazania HTML:
Czy ktoś wie, dlaczego do wyliczenia nie można podejść w ten sposób?