typescript - Angular 5 Sjekke verdien av en variabel i en *ngIf-setning


Jeg bruker Angular 5, og jeg prøver å sjekke verdien av en variabel i HTML-malen til komponenten.

Så det ser omtrent slik ut:

<div *ngIf="item='somevalue'">

Jeg får denne feilen:

ht-feil: Malanalysefeil:

Parser Error: Bindings cannot contain assignments at column 17 in...

Kan ikke dette gjøres i Angular?

Svar #1

*ngIf fungerer slik *ngIf="expression" der expression erstattes med den enkle Javascript-setningen som returnerer boolean. Men du bruker ett = og det betyr at du tildeler someValue til item-egenskapen, og hvis verdien ikke er falsk, vil den returnere true.

I ditt tilfelle må du skrive *ngIf="item === 'somevalue'".

Svar #2

Du gjør tildeling i stedet for sammenligning

<div *ngIf="item==='somevalue'">

Svar #3

Du gjør en oppgave ved å bruke enkelt=operator.

Bruk dobbelt lik == operator for å sjekke likhet, eller enda bedre, bruk === for å sjekke streng likhet.

<div *ngIf="item === 'somevalue'">

Relaterte artikler