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'">
