Ho un semplice ng-repeat
che visualizza un elenco di punteggi e un valore di Positivo o Negativo.Applicazione di classe ng in base al valore
Quello che sto cercando di fare è quando il valore è Negativo, visualizzare una classe CSS in background rossa e, quando Positivo, visualizzare una classe CSS verde. Tuttavia, per qualche ragione, vedo sempre la classe red CSS sulla mia pagina.
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;
}
Il razionale è dietro Soluzione 2 nella risposta qui: http: // stackoverflow.com/questions/15397252/angularjs-toggle-class-using-ng-class Usando la tua risposta, le mie righe ora sono tutte verdi (anche per quelle negative) –
@ivani - mi dispiace, ho avuto un errore di sintassi, la tua soluzione lavori. –
Hmm .. che è interessante, mi chiedo se il tuo approccio originale funzionerebbe con "" {true: 'warning', false: 'ok'} [(scores.Indicatore == 'Negativo')] '? (Ad es. Avvolgere la logica test tra parentesi quadre con parentesi) – ivarni