typescript - Angular 5 Memeriksa nilai dari sebuah variabel pada pernyataan on dan *ngIf


Saya menggunakan Angular 5 dan saya sedang mencoba memeriksa nilai sebuah variabel di template HTML dari komponen tersebut.

Jadi itu terlihat seperti ini:

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

Saya mendapatkan kesalahan ini:

Kesalahan ht: Kesalahan parse template:

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

Apakah ini tidak bisa dilakukan di Angular?

Jawaban #1

*ngIf bekerja seperti ini *ngIf="expression" di mana expression diganti dengan pernyataan Javascript sederhana yang mengembalikan boolean. Tetapi Anda menggunakan satu = dan itu berarti Anda menetapkan someValue ke properti item dan jika nilainya tidak falsy maka akan mengembalikan true.

Dalam kasus Anda, Anda perlu menulis *ngIf="item === 'somevalue'".

Jawaban #2

Anda sedang membuat penugasan alih-alih perbandingan

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

Jawaban #3

Anda sedang mengerjakan tugas menggunakan operator tunggal =.

Gunakan operator sama dengan ganda == untuk memeriksa kesetaraan atau lebih baik gunakan === untuk memeriksa kesetaraan yang ketat.

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

Artikel terkait