2017-05-05 83 views
2

我有点困惑。如果结果有几种情况之一,我需要隐藏块。但似乎它不能正常工作...角度4:* ngIf与多重条件

<div *ngIf="currentStatus !== 'open' || currentStatus !== 'reopen' "> 

    <p padding text-center class="text-notification">{{message}}</p> 

</div> 

它刚刚出现与其他条件。它不适用于1条件也不适用于2.也尝试*ngIf="currentStatus !== ('open' || 'reopen') ",但它只适用于1个案例。

+0

预期的行为是什么?何时应评估为“真”,何时评估为“假”?示例中出现 –

回答

10

除了冗余)这个表达式永远是true因为currentStatus将始终与这两个条件之一:

currentStatus !== 'open' || currentStatus !== 'reopen' 

也许你的意思的

!(currentStatus === 'open' || currentStatus === 'reopen') 
(currentStatus !== 'open' && currentStatus !== 'reopen') 
一个
+0

那么根据什么状态,预期的行为是什么? –

+2

第二个例子工作正常。谢谢! –

+1

@合并小马似乎你使用OR而不是AND,因为'!(currentStatus ==='open'|| currentStatus ==='reopen')'给出与'currentStatus!=='打开'相同的结果' && currentStatus!=='reopen'' – mankers

1

你有一个忍者')'。

尝试:

<div *ngIf="currentStatus !== 'open' || currentStatus !== 'reopen'"> 
+1

错误。我的错。在原始代码结果中询问 –