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

So implementieren Sie vertikale Textausrichtung mit CSS (Zusammenfassung)

Die Standardanordnung von Text in HTML ist horizo...

Beispielcode zum Bereitstellen eines Spring-Boot-Projekts mit Docker

1. Grundlegender Spring-Boot-Schnellstart 1.1 Sch...

Zwei Boxmodelle in Webseiten (W3C-Boxmodell, IE-Boxmodell)

Es gibt zwei Arten von Webseiten-Boxmodellen: 1: S...

【HTML-Element】So betten Sie Bilder ein

Mit dem img-Element können wir Bilder in HTML-Dok...

Detaillierte Untersuchung der MySQL-Mehrversions-Parallelitätskontrolle MVCC

MVCC MVCC (Multi-Version Concurrency Control) ist...

Detaillierte Verwendung der MySQL-Funktionen row_number() und over()

Syntaxformat: row_number() über (Partition durch ...

MySQL 8.0.12 Installations- und Konfigurations-Tutorial

Dieser Artikel enthält das ausführliche Tutorial ...

Ubuntu 18.04 erhält Root-Berechtigungen und meldet sich als Root-Benutzer an

Vorab geschrieben: In den folgenden Schritten müs...

HTML-Tutorial: Titelattribut und Alt-Attribut

XHTML ist die Grundlage des CSS-Layouts. jb51.net...

So deinstallieren und installieren Sie Tomcat neu (mit Bildern und Text)

Deinstallieren Sie tomcat9 1. Da die Installation...

So installieren Sie eine MySQL-Datenbank unter Ubuntu

Ubuntu ist ein kostenloses und quelloffenes Deskt...