Есть ли способ сделать выражение для чего-то вроде ng-class
условным?
Например, я попробовал следующее:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
Проблема с этим кодом заключается в том, что независимо от значения obj.value1
, проверка класса всегда применяется к элементу. Делая это:
<span ng-class="{test: obj.value2}">test</span>
Пока obj.value2
не равно истинному значению, класс не применяется. Теперь я могу обойти проблему в первом примере, выполнив это:
<span ng-class="{test: checkValue1()}">test</span>
Где функция checkValue1
выглядит так:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Мне просто интересно, если это, как ng-class
должен работать. Я также создаю пользовательскую директиву, в которой я хотел бы сделать что-то похожее на это. Тем не менее, я не могу найти способ посмотреть выражение (а может быть, это невозможно и причину, по которой это работает так).
Вот PLNKR, чтобы показать, что я имею в виду.