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

Grundlegende Verwendung des Befehls wget unter Linux

Inhaltsverzeichnis Vorwort 1. Laden Sie eine einz...

So verwenden Sie Vue zum Entwickeln öffentlicher Account-Webseiten

Inhaltsverzeichnis Projekthintergrund Start Erste...

Vue implementiert die Drag & Drop-Sortierfunktion der Seiten-Div-Box

vue implementiert die Drag & Drop-Sortierfunk...

MySql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „OR“

Im vorherigen Artikel wurde die MySql-Abfrageanwe...

Detaillierte Erläuterung des Mysql-Kommunikationsprotokolls

1.Mysql-Verbindungsmethode Um das MySQL-Kommunika...

Erweiterte benutzerdefinierte JavaScript-Ausnahme

Inhaltsverzeichnis 1. Konzept 1.1 Was sind Fehler...

Vue implementiert einen einfachen Bildwechseleffekt

In diesem Artikelbeispiel wird der spezifische Co...

Implementierungscode von Nginx Anti-Hotlink und Optimierung in Linux

Versionsnummer verbergen Die Versionsnummer wird ...

Detaillierte Erklärung des Unterschieds zwischen run/cmd/entrypoint in Docker

In Dockerfile können run, cmd und entrypoint zum ...

Centos erstellt ein Prozessdiagramm für den Chrony-Zeitsynchronisationsserver

Meine Umgebung: 3 centos7.5 1804 Meister 192.168....