下面给出的代码ng-if没有按预期工作
如果displayGroup
value是D
,那么它将打印第一个和第二个块,我写错了吗
<div *ngIf="(bookTravelInfo.displayGroup | uppercase) === 'A' || 'B' || 'C' ">
<h2>Perfect!</h2>
</div>
<div *ngIf="(bookTravelInfo.displayGroup | uppercase) === 'D' ">
<h2>Does not Perfect</h2>
</div>
如果您想检查bookTravelInfo.displayGroup
是'A'或'B'或'C',
使用
*ngIf="['A', 'B', 'C'].includes(bookTravelInfo.displayGroup | uppercase)"
||
逻辑或运算符从您的*ngIf
将永远不会返回false
。
根据ToBoolean,当值既不是null
,也不是undefined
或false
时,作为返回true
的布尔结果。
因此第一个<div>
元素仍然显示为:
*ngIf="(bookTravelInfo.displayGroup | uppercase) === 'A' || 'B' || 'C'"