El siguiente código ng-if no funciona como se esperaba
si el valor displayGroup es D , imprimirá el primer y el segundo bloque, ¿cometí algún error?
<div *ngIf="(bookTravelInfo.displayGroup | uppercase) === 'A' || 'B' || 'C' "> <h2>Perfect!</h2> </div> <div *ngIf="(bookTravelInfo.displayGroup | uppercase) === 'D' "> <h2>Does not Perfect</h2> </div>Si desea verificar que bookTravelInfo.displayGroup sea 'A' o 'B' o 'C',
Usar
*ngIf="['A', 'B', 'C'].includes(bookTravelInfo.displayGroup | uppercase)" || El operador lógico OR de su *ngIf nunca devolverá false .
Como el resultado booleano devolvió true cuando el valor no es null , ni undefined ni false según ToBoolean .
Por lo tanto, el primer elemento <div> todavía se muestra con:
*ngIf="(bookTravelInfo.displayGroup | uppercase) === 'A' || 'B' || 'C'"