AngularJS - Могу ли я использовать значение привязки данных в зависимости от тройного оператора - программирование

AngularJS - Могу ли я использовать значение привязки данных в зависимости от тройного оператора

У меня есть элементы ng-repeat li, и я хочу установить определенное значение для этого li, в зависимости от того, возвращает ли функция true или false, и я не хотите сделать это в контроллере, потому что у меня есть проблемы с зависимостями, где он сводит к минимуму или максимизируется для ВСЕХ элементов li, но я хочу, чтобы это было для каждого отдельного элемента li. Я пробовал использовать несколько вещей, включая следующие, без везения. Я не уверен, что я делаю неправильно, но я был бы признателен за любой вклад или любой другой способ сделать это.

object1 - это ng-repeat, который включает этот элемент li.

<li><a tabindex="-1" ng-click="setHidden(object1)">{isItHidden(object1) ? 'Minimize' : 'Maximize'}</a></li>

РЕШЕНИЕ (благодаря jdp)

<li><a tabindex="-1" ng-click="setHidden(object1)">{{isItHidden(object1)}}</a></li>

$scope.isItHidden = function(object){
    return object.hidden ? 'Maximize' : 'Minimize';
}
4b9b3361

Ответ 1

Вы можете сделать это

{{ object1.hidden && 'Minimize' || 'Maximize' }}

В angular 1.2 будет добавлен реальный тернарный оператор.

Ответ 2

С выпуском angular 1.2 теперь вы можете использовать более интуитивный троичный оператор внутри ng-bind

<a ng-bind="object1.hidden ? 'Maximize' : 'Minimize'"></a>

или внутри скобок

<a>{{ object1.hidden ? 'Maximize' : 'Minimize' }}</a>