2017-05-05 2 views
2

조금 혼란 스럽습니다. 결과가 여러 가지 경우 중 하나가 있으면 블록을 숨길 필요가 있습니다. 하지만 제대로 작동하지 않는 것 같습니다 ...각도 4 : 다중 조건이있는 * ngIf

다른 조건과 함께 나타납니다. 그것은 1 조건도 2도 작동하지 않습니다. 또한 *ngIf="currentStatus !== ('open' || 'reopen') " 시도했지만 괜찮아요 1 사건에 대해서만 작동합니다.

+0

예상되는 동작은 무엇입니까? 'true'로 평가해야 할 때와 'false'로 언제 평가해야합니까? –

답변

10

이 표현은 항상있을 것입니다 :

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

은 아마 당신은

!(currentStatus === 'open' || currentStatus === 'reopen') 
(currentStatus !== 'open' && currentStatus !== 'reopen') 
중 하나 의미
+0

그래서 상태에 따라 예상되는 동작은 무엇입니까? –

+2

두 번째 예제가 올바르게 작동하고 있습니다. 감사! –

+1

@ Merge-pony'! (currentStatus === 'open'|| currentStatus === 'reopen')'은'currentStatus! == 'open'과 같은 결과를 주므로 AND 대신 OR을 사용하는 것 같습니다. && currentStatus! == 'reopen'' – mankers

1

당신은 닌자가 있습니다. ')'.

보십시오 : 항상이 두 가지 조건 중 하나와 일치합니다 truecurrentStatus 때문에 중복 ) 게다가

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

은 실수를 한 것입니다. 내 잘못이야. 원래 코드 결과로 묻습니다. –