2017-09-15 1 views
0

ich eine Klasse mit Bedingung hinzufügen möchten, aber es funktioniert nichtAngular2 ngClass nicht funktioniert

<tr *ngFor="let time of times; let i = index"> 
     <td [ngClass]="{'red-time':checkInvalid(time['Proles Arrive'])}">{{time['Proles Arrive']}}</td> 
</tr> 

Das in meinem HTML ist

checkInvalid(entry: string){ 
console.log("This is the entry:" + entry); 
    return entry === 'Invalid Entry'; 
    } 

Aber die Klasse nie hinzugefügt, obwohl, wenn ich log den Eintrag heißt es "Invalid Entry"

Auch wenn ich "[ngClass] =" { 'red-time': true}.“es ist immer noch nicht die Klasse Hinzufügen

Irgendwelche Vorschläge bitte?

+0

könnten Sie uns ein Beispiel Ihrer 'times' Array? – lexith

+0

Was passiert, wenn Sie 'checkInvalid (Zeit ['Proles Arrive'] ') mit dem Wert ersetzen, den Sie erwarten? –

+0

Die Art, wie ich es anschaue, sollte es funktionieren, es sei denn, es ist etwas falsch mit diesem Array – masterpreenz

Antwort

0

Änderung der Bedingung wie folgt

<td [ngClass]="{'red-time':checkInvalid(time['Proles Arrive'])==true}">{{time['Proles Arrive']}}</td> 
+0

Funktioniert immer noch nicht – DavidS

+0

Was ist damit? one. [ngClass] = "checkInvalid (Zeit ['Proles Arrive']) == wahr? 'red-time': 'grün'". grün ist hinzugefügt als sonst Bedingung Klasse. Wenn Sie nicht wollen, können Sie eine leere Zeichenfolge '' –

+0

überprüfen Sie auch mit falscher Bedingung. checkInvalid (Zeit ['Proles Arrive']) == 'false' –