So implementieren Sie die Vue-Bindungsklasse und den Inline-Bindungsstil

So implementieren Sie die Vue-Bindungsklasse und den Inline-Bindungsstil

Bindungsklasse

Methode 1:

Objektsyntax: Übergeben Sie ein Objekt an v-bind:class, um Klassen dynamisch zu wechseln
Wenn der Wert, der einem Schlüssel im Objekt entspricht, wahr ist, wird der Schlüssel dem Label als Klassenname hinzugefügt.

.Kasten {
    Breite: 100px;
    Höhe: 100px;
    Hintergrundfarbe: grau;
}
.Kreis {
    Randradius: 50 %;
}
<div id="app">
    <div class="box" @click="isCircle = !isCircle" :class="{circle:isCircle}"></div>
    <!--Wenn isCircle wahr ist, wird dem Klassennamen des Div ein Kreis hinzugefügt-->
    <p>{{isCircle}}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<Skript>
    neuer Vue({
        el:"#app",
        Daten:{
            isCircle: false
        }
    })
</Skript>

Anfangs ist das Kästchen quadratisch. Wenn Sie darauf klicken, wird es zu einem Kreis. Klicken Sie erneut, um es zu einem Quadrat zu machen, und so weiter.

:class="{circle:isCircle}" kann auch in die berechnete Eigenschaft computed geschrieben werden und gibt dieses Objekt zurück

<div class="box" @click="isCircle = !isCircle" :class="divChange"></div>
berechnet:{
        divÄndern:Funktion(){
            zurück {circle:this.isCircle}
        }
    }

Methode 2:
Array-Syntax: Übergeben Sie ein Array an v-bind:class, um eine Liste von Klassen anzuwenden
CSS fügt einen blauen Hintergrundeffekt hinzu:

.Blau {
    Hintergrundfarbe: blau;
}
<div id="app">
    <div Klasse="box" v-on:click="clickFun()" :class="[Farbe,divChange()]"></div>
    <p>{{isCircle}}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<Skript>
    neuer Vue({
        el:"#app",
        Daten:{
            isCircle: falsch,
            Farbe:""
        },
        Methoden:{
            divChange: Funktion(){
                zurück {circle:this.isCircle}
            },
            KlickFun: Funktion(){
                dies.istKreis = !dies.istKreis;
                wenn (dies.istKreis){
                    diese.Farbe = "blau"
                }anders{
                    diese.farbe = ""
                }
            }
        }
    })
</Skript>

Inline-Stile binden

Bindende Inline-Stile können auch Objektsyntax oder Arraysyntax verwenden. Hier ist ein Beispiel für eine Methode, die Objektsyntax und berechnete Eigenschaften kombiniert:

<div id="app">
 <!--Inline-Stile binden-->
    <div Klasse="box" v-on:click="clickFun()" :style="divStyle"></div>
    <p>{{isCircle}}</p>
</div>

divStil:

divStyle: Funktion(){
    zurückkehren {
        Hintergrundfarbe:diese.Farbe
    }
}

Auf diese Weise können Sie die gewünschte Farbe auf .box einstellen

Kleine Demo:

1. Beim Klicken auf das Feld zwischen Kreis und Quadrat wechseln - Inline-Stilbindung
2. Die ursprüngliche Farbe des Felds ist rot. Klicken Sie auf die Startschaltfläche, um die Farbe (rot/blau) jede Sekunde zu wechseln. Klicken Sie erneut auf die Schaltfläche, um den Farbwechsel abzubrechen - Klassenbindung

.Kasten {
    Breite: 100px;
    Höhe: 100px;
    Hintergrundfarbe: rot;
}

.Blau {
    Hintergrundfarbe: blau;
}
<div id="app">
    <div Klasse="box" :style="borderRadius" @click="changeStyle" :class="{blue: isBlue}"></div>
    <button @click="startClick">Starten</button>
</div>
neuer Vue({
    el: "#app",
    Daten: {
        isCircle: falsch,
        borderRadius: { borderRadius: "50%" },
        isStart: false,
        isBlue: falsch,
        Timer: null
    },

    Methoden: {
        changeStyle: Funktion () {
            wenn (this.borderRadius.borderRadius == "0%") {
                this.borderRadius.borderRadius = "50 %"
            } anders {
                this.borderRadius.borderRadius = "0 %"
            }
        },
        startClick: Funktion () {
            dies.istStart = !dies.istStart;
        }
    },

    betrachten:
        isStart: Funktion (Wert) {
            var vm = dies;
            wenn (Wert) {
                console.log("Farbwechsel aktivieren")
                dieser.Timer = setzeIntervall(Funktion () {
                    vm.isBlue = !vm.isBlue
                }, 1000)
            }anders{
                console.log("Timer abbrechen, Farbwechsel stoppen")
                : ClearInterval(dieser.Timer);
                dieser.timer = null;
            }

        }
    }
})

Wirkung:

Dies ist das Ende dieses Artikels über die Implementierung der Vue-Bindungsklasse und des Bindungs-Inline-Stils. Weitere relevante Inhalte zur Vue-Bindungsklasse und zum Bindungs-Inline-Stil finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Zusammenfassung der Implementierung dynamischer Bindungen im Vue.js-Stil
  • So implementieren Sie die Bindung im Vue-Stil
  • Beispielanalyse für dynamische Bindung im CSS-Stil des Vue-Frameworks
  • Problem mit dem Inline-Stil der Vue-Bindung
  • Detaillierte Erklärung der Stilbindung von Vue

<<:  Beispielcode zur Implementierung eines gepunkteten Rahmen-Scrolleffekts mit CSS

>>:  Lösung für das Problem, dass Docker Containerdienste nicht stoppen oder löschen kann

Artikel empfehlen

Vue implementiert ein einfaches Einkaufswagenbeispiel

In diesem Artikelbeispiel wird der spezifische Co...

MySQL-Optimierungsstrategie (empfohlen)

Zusammenfassend: 1. Berücksichtigen Sie die Leist...

N Möglichkeiten, mit CSS ein zweispaltiges Layout zu erreichen

1. Was ist ein zweispaltiges Layout? Es gibt zwei...

Lösung zum Einfügen eines Formulars mit einer Leerzeile oben und unten

Ich weiß nicht, ob Ihnen beim Erstellen einer Webs...

Konzepte und Methoden für Server-Stresstests (TPS/Parallelität)

Inhaltsverzeichnis 1 Indikatoren im Stresstest 1,...

MySQL führt Befehle für externe SQL-Skriptdateien aus

Inhaltsverzeichnis 1. Erstellen Sie eine SQL-Skri...

So verwenden Sie SVG-Symbole in WeChat-Applets

SVG wurde in den letzten Jahren aufgrund seiner v...

So verwenden Sie JS WebSocket zur Implementierung eines einfachen Chats

Inhaltsverzeichnis Kurze Umfrage Langfristige Abf...

Detaillierte Erklärung der Vuex-Umgebung

Inhaltsverzeichnis Erstellen Sie eine Vuex-Umgebu...

SQL-Gruppierung zum Entfernen von Duplikaten und Sortieren nach anderen Feldern

brauchen: Identische Elemente eines Feldes zusamm...