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
Im vorherigen Artikel „UID und GID in Docker-Cont...
Die Wirkung ist wie folgt: Der Code lautet wie fo...
Aggregatfunktionen Wirkt auf einen Datensatz ein ...
Code kopieren Der Code lautet wie folgt: <span...
bgcolor="Textfarbe" background="Hin...
1. DNS-Server-Konzept Die Kommunikation im Intern...
Nach dem vorherigen Artikel 202 kostenlose hochwe...
Um Nginx unter Windows zu verwenden, müssen wir e...
Inhaltsverzeichnis 1. Einleitung 2. Eingabemodus ...
1. Laden Sie das komprimierte Tomcat-Paket von de...
Detailliertes Tutorial zum Herunterladen und Inst...
Speicherort der MySQL-Datenbank: 1. Wenn MySQL di...
Das Prinzip besteht darin, die Methode window.pri...
In diesem Artikel finden Sie das grafische Tutori...