Webprojekte verwenden häufig die Funktion des Herunterziehens und Scrollens, um Daten zu laden. Heute werde ich das Vue-Infinite-Loading-Plugin vorstellen und erklären, wie man es verwendet! Schritt 1: Installationnpm installiere vue-infinite-loading --save Schritt 2: Zitierenimportiere InfiniteLoading von „vue-infinite-loading“; Standard exportieren { Komponenten: { Unendliches Laden } } Schritt 3: Verwenden1. Grundlegende Verwendung <Vorlage> <div> <p v-for="item in list"> <span v-text="item"></span> </p> <!--Die Komponente zum unendlichen Laden sollte am Ende der Liste, innerhalb des Bildlauffelds, platziert werden! --> <infinite-loading @infinite="infiniteHandler"></infinite-loading> </div></template><script> importiere InfiniteLoading von 'vue-infinite-loading'; Standard exportieren { Daten() { zurückkehren { Liste: [] }; }, Methoden: { infiniteHandler($zustand) { // Hier wird eine Ladeverzögerung von 1 Sekunde simuliert setTimeout(() => { lass temp = []; für (lass i = diese.Liste.Länge + 1; i <= diese.Liste.Länge + 20; i++) { temp.push(i); } diese.Liste = diese.Liste.concat(temp); $zustand.geladen(); }, 1000); }, }, Komponenten: { Unendliches Laden } }</script> 2. Paging-Nutzung <Vorlage> <div> <ul> <li class="hacker-news-item" v-for="(item, key) in list"></li> </ul> <unendlich-laden @infinite="infiniteHandler"> Keine weiteren Daten </unendlich-laden> </div> </Vorlage> <Skript> importiere InfiniteLoading von „vue-infinite-loading“; importiere Axios von „Axios“; Standard exportieren { Daten() { zurückkehren { Liste: [] }; }, Methoden: { infiniteHandler($zustand) { let api="http://xxx.com/xxx"; //API fordert die Datenadresse für Sie an axios.get(api, { Parameter: { // Seitenzahlenparameter (10 pro Seite) Seite: this.list.length / 10 + 1, }, }).dann((Antwort) => { wenn (Antwort.Daten.Länge) { // response.data ist die Array-Liste, die von Ihrer Anforderungsschnittstelle zurückgegeben wird: this.list = this.list.concat(response.data); $zustand.geladen(); wenn (diese.Liste.Länge / 10 === 10) { // Hier werden 10 Seiten mit Daten geladen und die Einstellung ist, dass keine weiteren geladen werden $state.complete(); } } anders { $zustand.abgeschlossen(); } }); } }, Komponenten: { Unendliches Laden } }; </Skript> Beschreibung: $state: Diese Komponente übergibt einen speziellen Ereignisparameter $state an den Ereignishandler, um den Ladestatus zu ändern. Der Parameter $state umfasst drei Methoden, nämlich die geladene Methode, die vollständige Methode und die Reset-Methode.
3. Bedingte Nutzung <Vorlage> <div Klasse="Hacker-News-Liste"> <div Klasse="Hacker-News-Header"> <!--Zum Ändern nach unten ziehen--> <select v-model="tag" @change="changeFilter()"> <option value="story">Geschichte</option> <option value="history">Verlauf</option> </Auswählen> <!--Oder klicken zum Ändern--> <button @click="changeFilter()">Suchen</button> </div> <ul> <li class="hacker-news-item" v-for="(item, key) in list"></li> </ul> <!--Vergessen Sie nicht, dies festzulegen: ref="infiniteLoading"--> <unendlich-laden @infinite="infiniteHandler" ref="infiniteLoading"> Keine Daten mehr </unendlich-laden> </div> </Vorlage> <Skript> importiere InfiniteLoading von „vue-infinite-loading“; importiere Axios von „Axios“; Standard exportieren { Daten() { zurückkehren { Liste: [], Schlagwort: 'Geschichte', }; }, Methoden: { infiniteHandler($zustand) { const api="http://xxx.com/xxx"; //API fordert die Datenadresse für Sie an axios.get(api, { Parameter: { // Geänderte bedingte Parameter-Tags: this.tag, Seite: this.list.length / 10 + 1, }, }).dann(({ Daten }) => { if (Daten.Ergebnis.Länge) { diese.Liste = diese.Liste.concat(Daten.Ergebnis); $zustand.geladen(); wenn (diese.Liste.Länge / 20 === 10) { Zustand.abgeschlossen(); } } anders { $zustand.abgeschlossen(); } }); }, //Ändern Sie die bedingte Leiste mit dieser Methode changeFilter() { diese.liste = []; dies.$nextTick(() => { dies.$refs.infiniteLoading.$emit('$InfiniteLoading:reset'); }); }, }, Komponenten: { Unendliches Laden } } </Skript> Offizieller Link: https://peachscript.github.io/vue-infinite-loading/ GitHub-Link: https://github.com/PeachScript/vue-infinite-loading Oben sind die Einzelheiten des Beispiels für das Laden von Daten durch das Dropdown-Scrollen von Vue aufgeführt. Weitere Informationen zum Laden von Daten durch das Dropdown-Scrollen von Vue finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Beispiele für die Verwendung der oder-Anweisung in MySQL
>>: Grafisches Tutorial zur Installation und Aktivierung von VMware Workstation 14 Pro
In den letzten Jahren meiner Karriere habe ich an...
Programme in Docker-Containern müssen häufig auf ...
Ergebnis: Implementierungscode: html <div Klas...
HTML Code: Code kopieren Der Code lautet wie folgt...
1. Befehlseinführung Mit dem Befehl ln werden Lin...
1. Einleitung Lassen Sie Ihre Website immer noch ...
Inhaltsverzeichnis MySQLs current_timestamp-Falle...
Inhaltsverzeichnis 1. Zähldaten gehen verloren Lö...
Wie unten dargestellt: Kopieren Sie die Dateien d...
1- Dropdown-Auswahlfelder gestalten – Ändern Sie ...
Hintergrund Ein Nginx-Servermodul muss als Proxy ...
Einführung Es ist in Ordnung, am Ende eines JS-Co...
Designprinzipien für die Open-Source-Datenbankarc...
1. Root-Passwort festlegen und ändern Überprüfen ...
In diesem Artikel wird der spezifische Code von j...