angular - 角度 *ngIf 中的 AND 运算符计算结果为 true,而它不应该
问题描述
ngx-datatable
我在角度内有以下内容:
<button ngbDropdownItem
*ngIf="(row['REQUEST_STATUS_TYPE_NO'] == 5 && ['ENROLL_TAX_PAYER'] | authority)">
{{ 'M.SUBMIT_FOR_SYSTEM_CHECK' | translate }}
</button>
在上面的代码中,ENROLL_TAX_PAYER
条件评估为 true 它应该这样做,因为用户拥有该权限。row['REQUEST_STATUS_TYPE_NO'] == 5
如果如果单独检查它{{row['REQUEST_STATUS_TYPE_NO'] == 5}}
并且实际上应该检查,则该部分评估为假。问题是,当组合时,它的计算结果为 true,并且按钮会显示,而它不应该显示。我究竟做错了什么?。当我让它像(row['REQUEST_STATUS_TYPE_NO'] == 5) && (['ENROLL_TAX_PAYER'] | authority)
它一样工作时。它不应该在第一种情况下工作吗?我的意思是因为REQUEST_STATUS_TYPE_NO
不是五,并且操作员是AND
条件应该评估为假。
解决方案
如果没有括号,TS 会以这种方式查看您的情况。它首先解决管道,然后解决 &&。
row['REQUEST_STATUS_TYPE_NO'] ==
(5 && (['ENROLL_TAX_PAYER'] | authority))
推荐阅读
- javascript - 查找两点之间的相对角度
- matlab - MATLAB中的大量线性方程
- python - 无法使用 Python Selenium 启动 Opera
- javascript - MongoDB 聚合管道以获取每个不同状态的员工数量
- python - 每次都给出字典顺序更大的字符串的自由函数
- r - 导入和转换许多 csv 文件
- go - 每个 HTTP 请求都应该有一个新的 datastore.Client 吗?
- valgrind - FreeBSD 上 valgrind 的限制
- swift - 硬编码 NSUserActivityTypes 以恢复不同的数据模型
- unity3d - 为什么我不能缩放 Unity2D Orthographic 游戏?