Vue.js bietet eine sehr nützliche Eigenschaft zur bedingten Anwendung mehrerer Klassen auf ein Element. Dies geschieht mit der v-bind
Direktive und einer Objektsyntax.
Die v-bind
Direktive in Vue.js ist sehr vielseitig und kann zum Binden von Daten an verschiedene Attribute eines HTML-Elements genutzt werden, einschließlich der class
Eigenschaft. Wenn wir mehrere Klassen auf ein Element anwenden möchten, können wir das mit der v-bind:class
Direktiven in Verbindung mit der Objektsyntax tun.
Hier ist ein einfaches Beispiel:
<div v-bind:class="{ active: isActive, disabled: isDisabled }"></div>
In diesem fall, halten isActive
und isDisabled
logische Werte. Ist isActive
true
, dann wird die active
Klasse auf das Element angewendet. Ist isDisabled
true
, dann wird die disabled
Klasse angewendet.
Außerdem können in Vue.js bedingte Klassen mit bereits zugewiesenen Klassen kombiniert werden:
<div class="static" v-bind:class="{ active: isActive, disabled: isDisabled }"></div>
In diesem Beispiel ist die Klasse static
immer auf das Element angewendet, während die Klassen active
und disabled
nur dann angewendet werden, wenn ihre jeweiligen Bedingungen erfüllt sind.
Vue.js bietet eine sehr saubere und leistungsfähige Methode zur bedingten Anwendung von Klassen - es handelt sich um ein Muster, dass sich als sehr nützlich erweist, insbesondere in komplexen Anwendungen mit dynamischen Stilen. Merken Sie bitte, dass die anderen genannten Optionen, d.h. die v-class
und v-style
Direktiven oder die Behauptung, dass dies in Vue.js nicht möglich sei, nicht korrekt sind. Richtig ist die Nutzung der v-bind:class
Direktive mit einer Objektsyntax zur bedingten Anwendung mehrerer Klassen auf ein Element in Vue.js.