[javascript] 표현식의 Angularjs if-then-else 생성

예를 들어 bool 값을 반환해야하는 $ scope.isExists (item) 함수가 있습니다. 이런 걸 원해요

<div ng-repeater="item in items">
    <div>{{item.description}}</div>
    <div>{{isExists(item) ? 'available' : 'oh no, you don't have it'}}</div>
</div>

문자열을 반환하는 함수를 사용할 수 있다는 것을 알고 있습니다. if-then-else 생성을 표현식에 사용할 수 있다는 점이 흥미 롭습니다. 감사.



답변

각도 표현식은 1.1.5 이전의 삼항 연산자를 지원하지 않지만 다음과 같이 에뮬레이션 할 수 있습니다.

condition && (answer if true) || (answer if false)

예를 들어 다음과 같이 작동합니다.

<div ng-repeater="item in items">
    <div>{{item.description}}</div>
    <div>{{isExists(item) && 'available' || 'oh no, you don't have it'}}</div>
</div>

업데이트 : Angular 1.1.5는 삼항 연산자에 대한 지원을 추가했습니다.

{{myVar === "two" ? "it's true" : "it's false"}}


답변

이 작은 plunker (1.1.5의 예)에서 설명한 것처럼 버전 1.1.5 이상부터 삼항 연산자를 사용할 수 있습니다 .

역사상의 이유로 (아마도 plnkr.co는 미래에 어떤 이유로 다운 될 수 있음) 여기 내 예제의 주요 코드가 있습니다.

{{true?true:false}}


답변

다음과 같은 ng-show를 쉽게 사용할 수 있습니다.

    <div ng-repeater="item in items">
        <div>{{item.description}}</div>
        <div ng-show="isExists(item)">available</div>
        <div ng-show="!isExists(item)">oh no, you don't have it</div>
    </div>

더 복잡한 테스트의 경우 ng-switch 문을 사용할 수 있습니다.

    <div ng-repeater="item in items">
        <div>{{item.description}}</div>
        <div ng-switch on="isExists(item)">
            <span ng-switch-when="true">Available</span>
            <span ng-switch-default>oh no, you don't have it</span>
        </div>
    </div>


답변

이것은 한 줄로 할 수 있습니다.

{{corretor.isAdministrador && 'YES' || 'NÂO'}}

td태그 에서의 사용법 :

<td class="text-center">{{corretor.isAdministrador && 'Sim' || 'Não'}}</td>


답변