AngularJS ngClass condicional
Existe alguma maneira de fazer uma expressão para algo como ngClass ser uma condição. Por exemplo, tentei o seguinte:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
O problema com este código é que não importa o que obj.value1 é, o teste de classe é sempre aplicado ao elemento. Fazendo isso:
<span ng-class="{test: obj.value2}">test</span>
Desde que obj.value2 não seja igual a um valor truthy, a classe não é aplicada. Agora posso contornar o problema no primeiro exemplo fazendo isso:
<span ng-class="{test: checkValue1()}">test</span>
onde a função checkValue1 se parece com isto:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Eu só estou querendo saber se é assim que o ngClass deve funcionar. Eu também estou construindo uma diretiva personalizada onde eu gostaria de fazer algo semelhante a isso. No entanto, não consigo encontrar uma maneira de observar uma expressão (e talvez isso seja impossível e a razão pela qual funciona assim).
Aqui está um plnkr para mostrar o que quero dizer: