javascript - Angular 指令不适用于 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)"
||
来自您的逻辑 OR 运算符*ngIf
将永远不会返回false
。
true
当值既不是null
,也不undefined
是false
根据ToBoolean时返回的布尔结果。
因此,第一个<div>
元素仍显示为:
*ngIf="(bookTravelInfo.displayGroup | uppercase) === 'A' || 'B' || 'C'"
推荐阅读
- reactjs - react-draft-wysiwyg - 如果最大长度超过,则防止拖放文本
- jquery - 带有jquery的Laravel分页读取多次点击
- python - 测试给定的输入值是否不会从 while True 循环中中断
- android - 在哪个生命周期方法中,我们应该观察一个 livedata 对象?
- r - 无法在带有 Apple M1 芯片的 Macbook 上使用包 rJava,得到以下错误
- geometry - 使用半正弦曲率绘制圆形或散点图层
- matplotlib - Polarplot 误差线 maplotlib
- python - 遗留数据库中的解析日期问题 | Django 检查数据库
- swift - 如何为自定义图像或媒体重新格式化阵列中的系统图像代码?
- angular - 访问和修改 HashMap 中数组中的值:Typescript