模板中的枚举 - 此条件将始终返回'true',因为'RequestStatus.Done'和'RequestStatus.Rejected'的类型没有重叠



我有来自的html。在这个表单中,我想检查show direfent表单的值。

我在html:中设置了这个条件

requestStatus = RequestStatus;
<ng-container
*ngIf="
(model.lastStatus.requestStatus == requestStatus.Done ||
model.lastStatus.requestStatus == requestStatus.Rejected)
else ChangeStatus
"
>

并且CCD_ 1是CCD_。

这是请求类型:

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/emmoney depart-detail-rerequest.component.html(10,16(中的错误:由于类型"RequestStatus.Done"one_answers"RequestStats.Rejected"没有重叠,因此此条件将始终返回"true"。

问题出在哪里

枚举是一个transpiled特性,在模板中不能很好地工作。

在组件的打字端写一个表达式。

组件中:

export class WhateverComponent {
public requestIsFinished() { 
return (this.model.lastStatus.requestStatus == requestStatus.Done ||
this.model.lastStatus.requestStatus == requestStatus.Rejected);
}
}

在模板中:

<ng-container 
*ngIf=" requestIsFinished() else ChangeStatus"
>

最新更新