Gibt es einen Weg, einen Ausdruck für so etwas wie ng-class
zu machen, der bedingt ist?
Zum Beispiel habe ich Folgendes versucht:
test
Das Problem bei diesem Code ist, dass unabhängig von dem Wert von obj.value1
die Klasse test immer auf das Element angewendet wird. Wenn man Folgendes tut:
test
Wird die Klasse nur angewendet, wenn obj.value2
nicht einem wahren Wert entspricht. Ich kann das Problem im ersten Beispiel umgehen, indem ich Folgendes mache:
test
Wo die Funktion checkValue1
wie folgt aussieht:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Ich frage mich nur, ob das so ist, wie ng-class
funktionieren soll. Ich baue auch eine benutzerdefinierte Direktive, bei der ich etwas Ähnliches machen möchte. Ich kann jedoch keinen Weg finden, einen Ausdruck zu überwachen (und vielleicht ist das unmöglich und der Grund, warum es so funktioniert).
Hier ist ein plnkr, um zu zeigen, was ich meine.