Est-il possible de faire une expression de quelque chose comme ngClass être conditionnelle. Par exemple, j'ai essayé le suivant:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
Le problème avec ce code, c'est que n'importe quel obj.valeur1 est, la classe de test est toujours appliqué à l'élément. Pour ce faire:
<span ng-class="{test: obj.value2}">test</span>
Aussi longtemps que l'obj.valeur2 n'est pas égal à un truthy valeur, la classe de ne pas appliquée. Maintenant, je peux contourner le problème dans le premier exemple en faisant ceci:
<span ng-class="{test: checkValue1()}">test</span>
où la checkValue1 fonction ressemble à ceci:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Je me demandais simplement si c'est de cette façon ngClass est censé fonctionner. Je suis également la construction d'une coutume directive dans le cas où je voudrais faire quelque chose de semblable à cela. Cependant, je ne peux pas trouver un moyen de regarder une expression (et peut-être que c'est impossible, et la raison pour laquelle il fonctionne comme ceci).
Voici une plnkr pour montrer ce que je veux dire: