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

Detaillierte Erklärung der Truncate-Verwendung in MySQL

Vorwort: Wenn wir eine Tabelle löschen möchten, v...

Detaillierte Erklärung asynchroner Iteratoren in nodejs

Inhaltsverzeichnis Vorwort Was sind asynchrone It...

2 Methoden und Vorsichtsmaßnahmen zum Hinzufügen von Skripten in HTML

So fügen Sie ein <script>-Skript in HTML ein...

So verwenden Sie JavaScript zum Implementieren von Sortieralgorithmen

Inhaltsverzeichnis Blasensortierung Auswahl Sorti...

Grundlegende Nutzungsdetails zur Vue-Komponentenbildung

Inhaltsverzeichnis 1. Was ist Komponentenbildung?...

Einführungstutorial zu React Hooks

Zustandshaken Beispiele: importiere { useState } ...

Wichtige Hinweise zu PHP-HTMLhtml-Wissenspunkten (unbedingt lesen)

1. Verwenden Sie Frameset, Frame und Iframe, um m...

So stellen Sie ein SpringCloud-Projekt mit Docker bereit

Inhaltsverzeichnis Docker-Image herunterladen Sta...

Detaillierte Erläuterung der grundlegenden Datentypen in mysql8.0.19

MySQL-Basisdatentypen Übersicht über gängige MySQ...

Unabhängige Implementierung der Nginx-Containerkonfigurationsdatei

Erstellen eines Containers [root@server1 ~]# dock...

js, um ein Wasserfall-Flusslayout zu erreichen (unendliches Laden)

In diesem Artikelbeispiel wird der spezifische Co...