Vue implementiert Sternebewertung mit Dezimalstellen

Vue implementiert Sternebewertung mit Dezimalstellen

In diesem Artikel wird der spezifische Code von Vue zur Implementierung der Sternebewertung mit Dezimalstellen zu Ihrer Information veröffentlicht. Der spezifische Inhalt ist wie folgt

Zuerst müssen wir die Datei vue.js importieren

CSS-Teil

<Stil>
 hauptsächlich{
  Position: relativ;
  }
 .Sternlinie{
  /* So einstellen, dass kein Zeilenumbruch erzwungen wird */
  Breite-Abstand:nowrap;
  Überlauf: versteckt;
  Position: absolut;
  }
 .Stern{
  Anzeige: Inline-Block;
  /* Stellen Sie die Maus so ein, dass sie die Form einer kleinen Hand annimmt, wenn sie auf einen Stern gelegt wird*/
  Cursor: Zeiger
  }
</Stil>

Körper

<div id="app">
 <Eingabetyp="Text" v-Modell.Nummer="Ergebnis">
 <- Wenn eine Komponente den gebundenen Wert in einer bidirektionalen Bindung empfängt, muss sie value verwenden, um ihn zu empfangen. Das Prinzip ist wie folgt: Eingabe ->
 <v-star v-model="Ergebnis"></v-star>
</div>

Im JS-Teil verwenden wir Komponenten, die Eingabe erfolgt in der Stammkomponente und die von uns erstellten Sterne werden in einer Komponente platziert. Die Sternebewertung wird hauptsächlich durch bidirektionale Bindung realisiert, bei der die übergeordnete Komponente und die untergeordnete Komponente Werte aneinander weitergeben.

Komponentenvorlagenteil

<script id="v-star" type="text/html">
    <main:style="Hauptstil">
        <!-- Weißer Stern -->
        <div Klasse="Sternlinie">
            <span @click="changeValue(star)" class="star" :style="starStyle" v-for="insgesamt Sterne">☆</span>
        </div>
        <!-- Schwarzer Stern -->
        <div Klasse="Sternlinie" :style="schwarzerStil">
            <span @click="changeValue(star-1)" class="star" :style="starStyle" v-for="insgesamt Sterne">★</span>
        </div>
    </main>
</Skript>

js-Teil

<Skript>
    Vue.Komponente("v-star",{
        Vorlage:"#v-star",
        Requisiten:{
            gesamt:{
                Standard: 10,
            },
            Größe:{
                Standard: 30
            },
            // Erhalte den Score, der von der übergeordneten Komponente übermittelt wurde
            Wert:{}
        },
        // Berechnete Eigenschaften berechnet:{
            Hauptstil(){
                zurückkehren {
                    Breite:diese.Größe * diese.Gesamt + "px",
                }
            },
            SternStyle(){
                zurückkehren {
                    Breite:diese.Größe + "px",
                    Höhe:diese.Größe + "px",
                    Schriftgröße: diese.Größe + 6 + "px"
                }
            },
            schwarzerStil(){
                zurückkehren {
                    Breite:dieser.Wert / dies.Gesamt * 100 + "%"
                }
            }
        },
        Methoden:{
            Wert ändern(Wert){
                // Übergebe das neuste Ergebnis an die Eingabe
                // Das Eingabe-Tag hat ein Standard-Eingabeereignis this.$emit("input",value)
            }
        }
    })

    neuer Vue({
        el:"#app",
        Daten:{
            Punktzahl:1
        }
    })
</Skript>

Rendern

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue2.0 implementiert den Beispielcode der Front-End-Sternebewertungsfunktionskomponente

<<:  CentOS 7 - Lösungsprozessdiagramm für vergessene Passwörter

>>:  Fehlerbehebung bei Master-Slave-Verzögerungsproblemen beim Upgrade von MySQL 5.6 auf 5.7

Artikel empfehlen

Detaillierte Erklärung zu MySQL und Springs Autocommit

1 MySQL Autocommit-Einstellungen MySQL führt stan...

Detaillierte Erklärung der Destrukturierungszuweisung in JavaScript

Inhaltsverzeichnis Konzept Array-Destrukturierung...

Installieren Sie Zookeeper unter Docker (Standalone und Cluster).

Nachdem wir Docker gestartet haben, schauen wir u...

Detaillierte Erklärung zur korrekten Verwendung der Zählfunktion in MySQL

1. Beschreibung Wenn wir in MySQL die Gesamtzahl ...

CSS3 beschleunigt und verzögert Übergänge

1. Verwenden Sie die Geschwindigkeitskontrollfunk...

Vue + Element + OSS realisiert das Hochladen von Front-End-Fragmenten und die Wiederaufnahme von Haltepunkten

Reine Front-End-Implementierung:切片上傳斷點續傳.斷點續傳muss...

CSS-Isolationsproblem in Blazor

1. Umwelt VS 2019 16.9.0 Vorschau 1.0 .NET SDK 5....

Fünf Möglichkeiten zum automatischen Seitensprung in HTML

Im vorherigen Artikel haben wir drei gängige Meth...

Zabbix überwacht die MySQL-Instanzmethode

1. Überwachungsplanung Bevor Sie ein Überwachungs...

Skriptbeispiel zum Starten und Stoppen von Spring-Boot-Projekten in Linux

Es gibt drei Möglichkeiten, ein Springboot-Projek...