2016-07-05 13 views
11

Mam następujący szablon:Angular2 robi jeszcze z ngClass

<p [ngClass]="{checked: condition, unchecked: !condition}"> 

Choć pracuje uważam, że to trochę brzydki jak mam powtarzać dwa razy warunek. Czy istnieje sposób, aby coś takiego: [ngClass]={condition ? checked : unchecked} (który nie działa)

Dzięki

Odpowiedz

32

Rzeczywiście

<p class="{{condition ? 'checked' : 'unchecked'}}"> 

lub

<p [ngClass]="condition ? 'checked' : 'unchecked'"> 

lub

<p [ngClass]="[condition ? 'checked' : 'unchecked']"> 
+0

To działa, ale jestem bardzo zdezorientowany, to ngCla ss bezużyteczny? – Scipion

+2

'[ngClass] =" warunek? "Sprawdzony": "niezaznaczony" "' powinien również działać. –

+0

@ Scipion NO. po prostu musisz znaleźć odpowiednią sytuację, aby go użyć, zobacz [to] (http://stackoverflow.com/questions/30283771/ng-class-in-angular2/36199294#36199294) we wszystkich możliwych przypadkach. –