網站搜尋

typescript - Angular 5 在 *ngIf 語句中檢查變量的值


我正在使用 Angular 5,並且我正在嘗試在組件的 HTML 模板中檢查一個變數的值。

所以它看起來大概是這樣的:

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

我收到這個錯誤訊息:

ht 錯誤:模板解析錯誤:

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

這個無法在 Angular 裡完成嗎?

答案#1

*ngIf 的運作方式如下 *ngIf="expression",其中 expression 會被替換成返回 boolean 的簡單 Javascript 語句。但你使用了一個 =,這表示你將 someValue 賦值給 item 屬性,如果該值不是 falsy,它將返回 true。

在你的情況下,你需要寫 *ngIf="item === 'somevalue'"。

答案#2

你正在進行賦值而不是比較

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

答案#3

你正在使用單一=運算符來做作業。

使用雙等號 == 運算子來檢查相等性,或者更好地使用 === 來檢查嚴格相等性。

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