2013-03-14 12 views

Odpowiedz

64

Można użyć && i ||, który zakończy działają tak samo, jak operatorzy trójskładnikowi.

{{item.isValid && 'Valid' || 'Invalid' }}

EDIT: kątowe wprowadzone operatorów trójskładnikowych w 1.1.5:

{{item.isValid ? 'Valid' : 'Invalid' }}

+0

Piękne Dokładnie to, co ja Wspominają w dokumentacji, że mogą występować "wyrażenia" w nawiasach klamrowych, a teraz lepiej rozumiem, jak z nich korzystać.Dzięki . –

+0

Angary wprowadził ternarys w 1.1.5. Patrz tutaj - http: // stackoverflow .com/questions/12008580/a-ternary-in-angleular-templates-angularjs/12151492 # 12151492 – BradGreens

+0

Zastanawiasz się, czy istnieją potencjalne problemy z używaniem znaków "&" w kodzie HTML? Czy przeglądarka może wygenerować błędy sprawdzania poprawności, zanim kątowe renderuje szablony? – kapace

0

Można wstawić rozpiętość NG-show, aby pokazać swój tekst warunkowy

Przykład

<div ng-repeat="item in items"> 
    <span ng-show="item.isValid"> 
      Valid item 
    </span> 
    <span ng-show="!item.isValid"> 
      Invalid item 
    </span> 
</div> 
+1

To dokładnie taki nadęty rozwiązanie bałem ... :( –

1

Ty nie można używać warunkowych w wyrażeniach kątowych. I, jeśli treść div jest lekki (tylko tekst), możesz użyć NG-bind (także pozwala uniknąć konieczności dodatkowego elementu zakresu):

<div ng-repeat="item in items" ng-bind="{true: 'Valid item', false: 'Invalid item'}[item.isValid]"></div> 
Powiązane problemy