2013-03-14 3 views

ответ

64

Вы можете использовать && и ||, который завершится так же, как и троичные операторы.

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

EDIT: Угловые введенные тройные операторы в 1.1.5:

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

+0

Красивая именно то, что я и в настоящее время я лучше понимаю, как их использовать. Спасибо. –

+0

Угловые введенные тернары в 1.1.5. См. здесь - http: // stackoverflow .com/questions/12008580/a-ternary-in-angle-templates-angularjs/12151492 # 12151492 – BradGreens

+0

Просто интересно, есть ли потенциальные проблемы с использованием неэкранированного '&' в HTML? Может ли браузер производить ошибки проверки до углового отображения шаблонов? – kapace

0

Вы можете вставить промежуток с нг-шоу, чтобы показать ваш условный текст

Пример

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

Это именно раздутый решение, я боялся ... :( –

1

Вы не может использовать условные выражения в угловых выражениях. И, если содержание DIV свет (только текст), вы можете использовать нг-привязку (это также избавляет от необходимости дополнительного элемента SPAN):

<div ng-repeat="item in items" ng-bind="{true: 'Valid item', false: 'Invalid item'}[item.isValid]"></div> 
Смежные вопросы