Ich habe eine einfache ng-repeat
, die eine Liste von Scores und einen Wert von entweder positiv oder negativ anzeigt.Anwenden von ng-Klasse basierend auf Wert
Was ich versuche zu tun ist, wenn der Wert negativ ist, eine rote Hintergrund-CSS-Klasse anzeigen, und wenn positiv, eine grüne CSS-Klasse anzeigen. Aus irgendeinem Grund sehe ich aber immer die rote CSS-Klasse auf meiner Seite.
HTML:
<tr ng-repeat="scores in Test" ng-class="{true: 'warning', false: 'ok'}[scores.Indicator == 'Negative']">
<td>Overall: {{ scores.Indicator }}</td>
</tr>
CSS:
.warning {
background: red;
}
.ok {
background: green;
}
Die rationalen hinter Lösung 2 in der Antwort erstellen hier: http: // stackoverflow.com/questions/15397252/angularjs-toggle-class-using-ng-class Mit meiner Antwort sind meine Zeilen jetzt alle grün (sogar für die negativen) –
@ivani - sorry, ich hatte einen Syntaxfehler, Ihre Lösung funktioniert. –
Hmm .. das ist interessant, ich frage mich, ob dein ursprünglicher Ansatz mit '{true: 'warning', false: 'ok'} [(scores.Indicator == 'Negativ')]] funktionieren würde? Test in den eckigen Klammern mit Klammern) – ivarni