Angular 指令不适用于 ng-container

Angular directive not working with ng-container

下面给出的代码 ng-if 没有按预期工作

如果displayGroup值为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 的逻辑或运算符永远不会 return false.

作为布尔结果 returned true 当值既不是 null 也不是 undefined 也不是 false 根据 ToBoolean.

因此第一个 <div> 元素仍显示为:

*ngIf="(bookTravelInfo.displayGroup | uppercase) === 'A' || 'B' || 'C'"