AngularJS ngClass warunkowy
Czy istnieje sposób, aby wyrażenie dla czegoś takiego jak ngClass było warunkowe. Na przykład próbowałem:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
Problem z tym kodem polega na tym, że niezależnie od tego, czym jest obj.value1, test klasy jest zawsze stosowany do elementu. Robiąc to:
<span ng-class="{test: obj.value2}">test</span>
Dopóki obiekt obj.value2 nie jest równy wartości prawdziwej, klasa nie jest stosowana. Teraz mogę obejść ten problem w pierwszym przykładzie, wykonując następujące czynności:
<span ng-class="{test: checkValue1()}">test</span>
gdzie funkcja checkValue1 wygląda tak:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Zastanawiam się tylko, czy tak ma działać ngClass. Buduję również dyrektywę niestandardową, w której chciałbym zrobić coś podobnego. Nie mogę jednak znaleźć sposobu na obejrzenie wyrażenia (a może to jest niemożliwe i powód, dla którego tak działa).
Oto plnkr, aby pokazać, co mam na myśli: