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 Erläuterung der geplanten MySQL-Aufgaben (Ereignisereignisse)

1. Kurze Einführung in die Veranstaltung Ein Erei...

Komprimierungs- und Optimierungsvorgänge für Docker-Images

Der Grund für die heutige Beliebtheit von Docker ...

So installieren und implementieren Sie einen Gitlab-Server auf CentOS7

Ich verwende hier das 64-Bit-System CentOS 7. Ich...

So testen Sie die Netzwerkgeschwindigkeit mit JavaScript

Inhaltsverzeichnis Vorwort Zusammenfassung des Pr...

8 leistungsstarke Techniken zum Erstellen von HTML-Webseiten

<br />Es gibt zwar viele Tools zum Erstellen...

Implementierung des iview-Berechtigungsmanagements

Inhaltsverzeichnis iview-admin2.0 integrierte Ber...

Detaillierte Einführung in das CSS-Prioritätswissen

Bevor wir über die CSS-Priorität sprechen, müssen...

MySQL-Lösung zur funktionalen Indexoptimierung

Bei der Verwendung von MySQL führen viele Entwick...

So implementieren Sie die Kontrollkästchen- und Radioausrichtung

Nicht nur das Verhalten verschiedener Browser ist...

JavaScript-Modularität erklärt

Inhaltsverzeichnis Vorwort: 1. Konzept 2. Die Vor...

MySQL verwendet inet_aton und inet_ntoa, um IP-Adressdaten zu verarbeiten

Dieser Artikel stellt vor, wie Sie IP-Adressdaten...

Eine kurze Diskussion über die Lebenszyklusfunktionen von React Component

Was sind die Lebenszyklusfunktionen von React-Kom...