2017-04-07 1 views
0

Ich muss prüfen, ob zwei Dinge wahr ist, um die Klasse zu entscheiden. Ich habe versucht, eine Lösung dafür zu finden, weil ich glaube, dass dies ein ziemlich häufiges Problem sein sollte. Vielleicht suche ich nur nach den falschen Dingen.ng-Klasse mehrere Bedingung in on-Anweisung

Ich möchte zwei Bedingungen in einer Anweisung haben, wenn das so heißt?

Ich habe versucht, ähnliche Dinge dazu:

ng-class="{'in-behalf-of-background-color' : parameters.Username == quote.InBehalfOf } ,{'not-in-behalf-of-background-color' : ((parameters.Username != quote.InBehalfOf) && (quote.InBehalfOf != 'null'))}" 

Wie Sie kann ich überprüfen parameters.Username sehen wollen = quote.InBehalfOf und auch wenn quote.InBehalfOf = null im gleichen Zustand!. Ist das möglich?

+0

, die arbeiten sollen, nicht wahr? – pranavjindal999

+0

Ja dachte ich so, aber es ist nicht :( –

+0

Nun, es ist schön, solche Logik zum Controller zu verschieben, wie Ansichtslogik schwer zu debuggen ist. Machen Sie eine einzelne Variable oder Funktion boolean für die Anwendung dieser Klasse – pranavjindal999

Antwort

3

versuchen Sie diesen Code;

Sie wollen dann mehrere Zustand ein Objekt definieren und definieren Bedingungen mit Schlüsselwertpaar {key1:value1, key2: value2}

ng-class="{'in-behalf-of-background-color' : parameters.Username == quote.InBehalfOf, 'not-in-behalf-of-background-color' : ((parameters.Username != quote.InBehalfOf) && (quote.InBehalfOf)) }" 
+0

das macht alles Sie erhalten die Klasse: Nicht-im-Namen-von-Hintergrund-Farbe –

+0

Vielleicht haben Sie falsch letzte Bedingung verwendet versuchen Sie diesen Code' ((parameter.Username! = quote.InBehalfOf) && (quote.InBehalfOf)) 'statt' ((parameter.Username! = quote.InBehalfOf) && (quote.InBehalfOf! = 'null')) ' –

+0

Ja, das hat funktioniert! :) Danke! –

1

Das, was Sie fehlt, ist, für mehrere Klassen in ng-class Sie keine andere {..} erstellen müssen. Sie können mehrere angeben, indem Sie sie mit einem Komma trennen ,. So sollte die folgende Arbeit,

ng-class="{'in-behalf-of-background-color' : parameters.Username == quote.InBehalfOf, 
    'not-in-behalf-of-background-color' : (parameters.Username != quote.InBehalfOf) && (quote.InBehalfOf != 'null')}" 
+0

das macht alle von ihnen bekommen die Klasse: Nicht-im-Hintergrund-Farbe :( –

+0

@DanielGustafsson sollte ein Problem mit dem, was Sie in Bedingungen haben. Syntaktisch wird 'ng-Klasse' hier richtig geschrieben – tanmay

0

Versuchen Sie diese,

ng-class="{'in-behalf-of-background-color' : parameters.Username === quote.InBehalfOf , 'not-in-behalf-of-background-color' : ((parameters.Username !== quote.InBehalfOf) && (quote.InBehalfOf !== 'null'))}" 

angular ng-class doc siehe