Вы можете использовать && и ||, которые будут работать так же, как трёхмерные операторы.
{{item.isValid && 'Valid' || 'Invalid' }}
EDIT: Angular введен тройные операторы в 1.1.5:
{{item.isValid ? 'Valid' : 'Invalid' }}
Ответ 2
Вы не можете использовать условные выражения в выражениях angular. И если ваше содержимое div светлое (только текст), вы можете использовать ng-bind (это также избавляет вас от необходимости иметь дополнительный элемент span):
<div ng-repeat="item in items" ng-bind="{true: 'Valid item', false: 'Invalid item'}[item.isValid]"></div>
Ответ 3
Вы можете вставить прогон с помощью ng-show, чтобы отобразить условный текст