AngularJS ngClass condicional
¿Hay alguna manera de hacer una expresión para que algo como ngClass sea un condicional? Por ejemplo, he intentado lo siguiente:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
El problema con este código es que no importa qué es obj.value1, la prueba de clase siempre se aplica al elemento. Haciendo esto:
<span ng-class="{test: obj.value2}">test</span>
Mientras obj.value2 no sea igual a un valor veraz, la clase no se aplica. Ahora puedo solucionar el problema en el primer ejemplo haciendo esto:
<span ng-class="{test: checkValue1()}">test</span>
donde la función checkValue1 se ve así:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Me pregunto si así es como se supone que ngClass funciona. También estoy creando una directiva personalizada donde me gustaría hacer algo similar a esto. Sin embargo, no puedo encontrar una manera de ver una expresión (y tal vez eso sea imposible y la razón por la que funciona así).
Aquí hay un plnkr para mostrar lo que quiero decir: