Vue verwendet berechnete Eigenschaften, um die Erstellung dynamischer Schieberegler abzuschließen

Vue verwendet berechnete Eigenschaften, um die Erstellung dynamischer Schieberegler abzuschließen

Layoutteil:

<div id="Schieberegler">
        <!-- Wichtigste Animationseffekte: Schriftart, Fortschrittsbalken und Ausdruck ändern sich mit dem Prozentsatz des Emotionsniveaus-->
        <label for="range" :style="{'color':getHappinessColor}">Emotionale Ebene: {{val}}%</label>
<!-- Die Farbe des Schiebereglers sollte an die voreingestellte Farbe gebunden sein und die Farbe kann nach Belieben geändert werden-->
        <!-- Der Wert der Emotionsebene sollte sich auch mit dem Val-Wert ändern-->
        <Eingabetyp="Bereich" Name="" ID="Bereich" min="0" max="100" v-Modell="Wert">
 
<!-- Der Wert des Schiebereglers sollte an val gebunden sein, das in die berechnete Eigenschaft geschrieben wird, um mit dem Bereich der Schieberegler-Füllfarbe unten zu synchronisieren-->
        <div Klasse="Außenschieber">
 <!-- Lassen Sie uns die Breite des Etiketts gleich der Breite unseres Datencenter-Werts machen, sodass sich das Etikett mit der Bewegung des Schiebereglers bewegt und der Effekt einer Änderung des Ausdrucks erreicht wird-->
        <label für="" Klasse="Schieberegler inner" :style="{'width':val+'%',
        'Randradius':greaterThanFifty">
                <span:style="{'right':getPlacement}">{{getHappiness}}</span>
            </Bezeichnung>
        </div>
    </div>


Stilteil:

*{
    Polsterung: 0;
    Rand: 0;
    Listenstil: keiner;
}
:Wurzel {
    /* Globale CSS-Variablen */
    --gelb: #ffd100;
    --orange: #ff6a13;
    --Dunkelgrau: #53565a;
    --Mittelgrau: #888b8d;
    --weiß: #fff;
  }
*,*::nach,*::vor{
    Farbe: var(--darkGray);
    Box-Größe: Rahmenbox;
}
html, Text {
      Breite: 100 %;
      Höhe: 100%;
}
Körper{
      Mindesthöhe: 100vh;
      Anzeige: Flex;
      Inhalt ausrichten: zentriert;
      Elemente ausrichten: zentrieren;
      Hintergrundfarbe: var(--white);
}
#Schieberegler{
    /* Lokale CSS-Variablen */
    --Rundheit: 20px;
    Breite: 100 %;
    maximale Breite: 600px;
    Umriss: 1px gestrichelt rot;
    Polsterung: 4vh;
 
    /* Rasterlayout */
    Anzeige: Raster;
    Inhalt ausrichten: strecken;
}
#Schieberegler>Beschriftung{
    Breite: 100 %;
    Schriftgröße: 1,5em;
    Polsterung: 0 0 0,5em;
    Rand: automatisch;
}
#Schieberegler-Eingabe{
    Gitterzeile: 2 / 3;
    Gitterspalte: 1 / 2;
    Breite: 100 %;
    Position: relativ;
    Z-Index: 1;
    Deckkraft: 0;
    Höhe: berechnet (var (--Rundheit) * 2);
    Cursor: Zeiger;
}
#Schieberegler .äußerer{
    Breite: 100 %;
    Höhe: var(--Rundheit);
    Hintergrundfarbe: var(--midGray);
    Rahmenradius: var(--roundness);
    Anzeige: Flex;
    Elemente ausrichten: zentrieren;
    Inhalt ausrichten: zentriert;
    Position: relativ;
    Z-Index: 0;
    Rand: automatisch;
    Gitterzeile: 2/3;
    Gitterspalte: 1/2;
}
 
#Schieberegler Eingabe: Fokus + .äußerer {
    Umriss: 1px gestrichelt var(--orange);
  }
 
#Schiebereglerbezeichnung.inner {
    Position: absolut;
    Breite: 100 %;
    Höhe: 100%;
    Hintergrund: var(--white);
    Hintergrund: linearer Farbverlauf (nach links, var (--gelb), var (--orange));
    Rahmen oben links Radius: var(--roundness) !important;
    Rahmen unten links Radius: var(--roundness) !important;
    Position: absolut;
    Übergang: alle 0,3 s kubisch-bézier (0,5, 0,4, 0,2, 1);
    Textausrichtung: rechts;
    Schriftgröße: calc(var(--roundness) * 2);
    Zeilenhöhe: 1;
  }
  #Schiebereglerbezeichnung.innerer Bereich {
    Position: absolut;
    rechts: -2px;
    oben: calc(50% - var(--roundness) * 2);
    oben: calc(var(--roundness) * -.3);
    Übergang: erben;
  }


Vue-Teil:

<script src="./js/vue.js"></script>
    <Skript>
        sei ein = neuer Vue({
            el:"#Schieberegler",
            Daten() {
                zurückkehren {
                    Wert: 70,
                    //Schlüsselpunkte, die auch zur dynamischen Verknüpfung von 1: Emotionsprozentsatz, 2: angezeigter Textausdruck verwendet werden}
            },
            montiert() {
                dieser.Wert = Math.floor(Math.random() * 101)
            },
            berechnet: {
        getPlacement: Funktion () {
            gibt `${(-0,009 * ((this.val * -1) + 104))}em` zurück;
            // Position abrufen. Da es sich um eine berechnete Eigenschaft handelt, entspricht dies der Bindung an val. Nach der Bindung an den unteren Bereich entspricht es der Breite, die oben an val gebunden ist.
        },
        greaterThanFifty: Funktion () {
            gibt this.val > 50 zurück? `var(--roundness)`: `0`;
            // Wenn der Val-Wert größer als 50 ist, ändert sich die Grenze. Er kann weggelassen oder nicht gebunden werden. Das ist nicht kritisch.},
        getHappinessColor: Funktion () {
            gibt `rgba(255, ${106 + (103 / 100 * this.val)}, ${(Math.floor(this.val * -1 / 7.692)) + 13}` zurück;
            // Funktion zum Abrufen der Farbe. Sie können den Wert nach Belieben ändern, aber der Farbübergang oben ist natürlicher},
        getHappiness: Funktion () {
            lass die Stimmung;
            // Den Val-Wert physisch an alle Ausdrücke binden
            wenn (this.val == 0) {
                Stimmung = "🤬"
            } sonst wenn (dieser.Wert < 10) {
                Stimmung = "😡"
            } sonst wenn (this.val < 20) {
                Stimmung = "😠"
            } sonst wenn (this.val < 30) {
                Stimmung = "😦"
            } sonst wenn (this.val < 40) {
                Stimmung = "☹️"
            } sonst wenn (this.val < 50) {
                Stimmung = "🙁"
            } sonst wenn (this.val < 60) {
                Stimmung = "😐"
            } sonst wenn (this.val < 70) {
                Stimmung = "🙂"
            } sonst wenn (this.val < 80) {
                Stimmung = "😊"
            } sonst wenn (this.val < 90) {
                Stimmung = "😄"
            } sonst wenn (this.val < 100) {
                Stimmung = "😃"
            } sonst wenn (this.val == 100) {
                Stimmung = "😍"
            }
            Rückkehrstimmung;
        }
    }
        })
    </Skript>


Endgültiger Stil:

Dies ist das Ende dieses Artikels über die Verwendung berechneter Eigenschaften in Vue zum Erstellen dynamischer Schieberegler. Weitere Informationen zur Verwendung berechneter Eigenschaften in Vue zum Erstellen dynamischer Schieberegler finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Transkript der Implementierung berechneter Vue-Eigenschaften
  • Ein kurzer Vortrag über berechnete Eigenschaften und das Abhören von Eigenschaften in Vue
  • Von Vue berechnete Eigenschaften
  • Einführung in berechnete Eigenschaften in Vue
  • Vue-Überwachungseigenschaften und berechnete Eigenschaften
  • Berechnete Eigenschaften und Datenerfassungsmethoden in Vue
  • Kennen Sie die berechneten Eigenschaften von Vue?
  • Drei Implementierungsmethoden für den berechneten Eigenschaftsnamenfall von Vue

<<:  Einführung in die Anwendung der HTML-Tags superscript sup und subscript sub

>>:  Lösung für das Problem „VMware-virtuelle Maschine ohne Netzwerk“

Artikel empfehlen

Installations-Tutorial für die komprimierte Version von MySQL 5.7.18 Archiv

In diesem Artikel wird die spezifische Methode zu...

Implementierungsbeispiel für die Bereitstellung von Docker rocketmq

Inhaltsverzeichnis Vorbereitung Bereitstellungspr...

Detaillierter Prozess für den Einstieg mit Docker Compose HelloWorld

Voraussetzungen Compose ist ein Tool zum Orchestr...

Implementierung eines laufenden Springboot-Projekts mit Docker

Einführung: Die Konfiguration von Docker, auf dem...

Methode zur Erstellung von Vue-Scaffolding-Lernprojekten

1. Was ist Scaffolding? 1. Vue-CLI Vue CLI ist ei...

Beispiele für korrekte Beurteilungsmethoden für Datentypen in JS

Inhaltsverzeichnis Vorwort Kann typeof den Typ ko...

7 coole dynamische Website-Designs zur Inspiration

Im Bereich Design gibt es jedes Jahr unterschiedl...

TCP-Socket-SYN-Warteschlange und Accept-Warteschlangen-Unterschiedsanalyse

Zunächst müssen wir verstehen, dass ein TCP-Socke...