首页 > 解决方案 > 角度 || 条件和没有重叠错误

问题描述

我在 angular 6 应用程序中有以下代码。

if (this.values.status!='Refused' || this.values.status!= 'CancelationPending'){
    foundRefused =  false;
   }

它在编辑器中显示错误说

This condition will always return 'true' since the types '"Refused"' and '"cancelationpending"' have no overlap.

我尝试toLowerCase()在这两种情况下都这样做,但没有结果,我尝试了一个条件,另一个条件.toLowerCase(),它可以工作,但即使状态被拒绝或取消挂起,它也会进入循环。

有什么猜测吗?

标签: angulartypescript

解决方案


好的,我想通了

考虑this.values.status是“拒绝”然后第二个条件为真

此外,如果this.values.status是“CancelationPending”,则第一个条件为真

如果this.value.status既不是 'Refused' 也不是 'CancelationPending' 那么这两个条件都为真

这就是为什么它给出错误

考虑改变条件

喜欢

if (this.values.status === 'Refused' || this.values.status === 'CancelationPending'){
   foundRefused = true;
} else {
    foundRefused = false;
}

推荐阅读