javascript - 模板中的枚举 - 此条件将始终返回 'true',因为类型 'RequestStatus.Done' 和 'RequestStatus.Rejected' 没有重叠
问题描述
我有来自 .html 的 html。在这种形式中,我想检查显示不同形式的值。
我在 html 中设置了这个条件:
requestStatus = RequestStatus;
<ng-container
*ngIf="
(model.lastStatus.requestStatus == requestStatus.Done ||
model.lastStatus.requestStatus == requestStatus.Rejected)
else ChangeStatus
"
>
并且 model.lastStatus.requestStatus
是number
。
这是请求类型:
export enum RequestStatus {
New = 1,
Processing = 2,
Accepted = 3,
Rejected = 4,
Done = 5
}
但是当我运行该项目时,它不会显示任何错误并且运行良好。
但是当我想构建它时,告诉我这个错误:
src/app/pages/pages/e-money-deposit/components/emoney-deposit-detail/emoney-deposit-detail-request/emoney-deposit-detail-request.component.html(10,16) 中的错误:这个条件将始终返回“true”,因为“RequestStatus.Done”和“RequestStatus.Rejected”类型没有重叠。
有什么问题????
解决方案
枚举是一个转译功能,在模板中不能很好地工作。
在组件的 typescript 端写一个表达式。
在组件中:
export class WhateverComponent {
public requestIsFinished() {
return (this.model.lastStatus.requestStatus == requestStatus.Done ||
this.model.lastStatus.requestStatus == requestStatus.Rejected);
}
}
在模板中:
<ng-container
*ngIf=" requestIsFinished() else ChangeStatus"
>
推荐阅读
- javascript - 为什么 React 在直接改变状态时会更新?
- javascript - jQuery - 用于 src 和背景图像的图像上传器
- python - lxml xpath 表达式,用于选择给定子节点下的所有文本,包括他的子节点
- python - 使用 Python 字典处理文本文件并上传到正在运行的 Web 服务实验室
- java - 拆分成对数字的字符串,然后在java中拆分它们中的每一个
- java - 组协调员不可用或无效
- pandas - 用另一个数据帧中的相应值更新熊猫数据帧的值
- java - BitcoinJ 请求特定金额
- laravel - Laravel Cashier 产品描述 Stripe Invoice
- python - “此字段为必填项”,即使我正在上传我的文件