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