Heim Web-Frontend js-Tutorial Vue fährt bis zum Ende der Seite herunter und lädt die Daten sofort

Vue fährt bis zum Ende der Seite herunter und lädt die Daten sofort

Apr 27, 2018 pm 01:41 PM
加载 unten

Dieses Mal zeige ich Ihnen, welche Vorsichtsmaßnahmen es gibt, damit Vue die Daten sofort lädt, wenn Sie sie an das Ende der Seite ziehen. Hier ist ein praktischer Fall, schauen wir uns das an.

Mit diesem Projekt können Sie Ihr Verständnis des Lebenszyklus von Vue vertiefen, wann Sie Axios-Anfragen starten, wie Sie mit Vue native JS zum Schreiben von Scroll-Ereignissen verwenden usw. Hier extrahiere und ergänze ich hauptsächlich den Schlüssel Punkte des Originaltextes.

Technische Punkte dieses Artikels

  1. Vue-Lebenszyklus

  2. Axios einfache Verwendung

  3. moment.js formatiertes Datum

  4. Verzögertes Laden von Bildern

  5. Kombiniert mit native js zum Schreiben von Scroll-Ereignissen

  6. Drosselung anfordern

Projekt erstellen

Erstellen Sie zunächst ein einfaches Vue-Projekt

# vue init webpack-simple infinite-scroll-vuejs
Nach dem Login kopieren

Dann installieren Sie einige für das Projekt benötigte Plug-Ins

# npm install axios moment
Nach dem Login kopieren

Benutzerdaten initialisieren

Nach dem Projekt ist erstellt, führen Sie es aus und schauen Sie es sich an

# npm run dev
Nach dem Login kopieren

Nachdem wir http://localhost:8080 korrekt geöffnet haben, beginnen wir zunächst mit der Änderung des Codes.

<script>
import axios from 'axios'
import moment from 'moment'
export default {
 name: 'app',
 // 创建一个存放用户数据的数组
 data() {
  return {
   persons: []
  }
 },
 methods: {
  // axios请求接口获取数据
  getInitialUsers() {
   for (var i = 0; i < 5; i++) {
    axios.get(`https://randomuser.me/api/`).then(response => {
     this.persons.push(response.data.results[0])
    })
   }
  },
  formatDate(date) {
   if (date) {
    return moment(String(date)).format('MM/DD/YYYY')
   }
  },
 beforeMount() {
  // 在页面挂载前就发起请求
  this.getInitialUsers()
 }
}
</script>
Nach dem Login kopieren

Die Der ursprüngliche Autor hat hier auch ausdrücklich darauf hingewiesen, dass die Anforderung beim Laden der Seite fünfmal erfolgt, diese Schnittstelle jedoch jeweils nur ein Datenelement zurückgeben kann, das natürlich nur zum Testen verwendet wird , ich kann Daten auch über Mock simulieren, daher werde ich nicht auf Details eingehen~

Als nächstes schreiben Sie die Struktur und den Stil der Vorlage wie folgt:

<template>
 <p id="app">
  <h1>Random User</h1>
  <p class="person" v-for="(person, index) in persons" :key="index">
   <p class="left">
    <img :src="person.picture.large" alt="">
   </p>
   <p class="right">
    <p>{{ person.name.first}} {{ person.name.last }}</p>
    <ul>
     <li>
      <strong>Birthday:</strong> {{ formatDate(person.dob)}}
     </li>
     <p class="text-capitalize">
      <strong>Location:</strong> {{ person.location.city}}, {{ person.location.state }}
     </p>
    </ul>
   </p>
  </p>
 </p>
</template>
<style lang="scss">
.person {
 background: #ccc;
 border-radius: 2px;
 width: 20%;
 margin: 0 auto 15px auto;
 padding: 15px;
 img {
  width: 100%;
  height: auto;
  border-radius: 2px;
 }
 p:first-child {
  text-transform: capitalize;
  font-size: 2rem;
  font-weight: 900;
 }
 .text-capitalize {
  text-transform: capitalize;
 }
}
</style>
Nach dem Login kopieren

Auf diese Weise kann die Seite Zeigt die persönlichen Informationen von 5 Personen an.

Verarbeiten Sie die Logik zum Laden des unendlichen Scrollens

Als nächstes müssen wir scroll() in Methoden hinzufügen, um das Scrollen zu überwachen, und dieses Ereignis sollte dies tun innerhalb des Lebenszyklus von mount() sein. Der Code lautet wie folgt:

<script>
 // ...
 methods: {
  // ...
  scroll(person) {
   let isLoading = false
   window.onscroll = () => {
    // 距离底部200px时加载一次
    let bottomOfWindow = document.documentElement.offsetHeight - document.documentElement.scrollTop - window.innerHeight <= 200
    if (bottomOfWindow && isLoading == false) {
     isLoading = true
     axios.get(`https://randomuser.me/api/`).then(response => {
      person.push(response.data.results[0])
      isLoading = false
     })
    }
   }
  }
 },
 mounted() {
  this.scroll(this.persons)
 }
}
</script>
Nach dem Login kopieren

Der Originaltext dieses Codes lautet. Ich habe ihn hier korrigiert und auch den Abstand zum Unten, um mit dem Laden der Daten und dem Abfangen des Flusses zu beginnen.

Speichern Sie es, gehen Sie zurück zum Browser und überprüfen Sie den Effekt. Es gibt kein Problem 🎜>

Die Funktion zum Scrollen zum Ende der Seite und zum unendlichen Laden ist in Vue implementiert, was der normalen Seitenentwicklung ähnelt. Jedes Mal, wenn das Scrollen nicht abgeschlossen ist, wird die Anforderung nicht einmal ausgelöst Die Anfrage wird in das Array gepusht und das verzögerte Laden wird durch

Datenbindung von implementiert (eigentlich 0 0, ich bin damit nicht wirklich einverstanden...), Nach dem Lesen fühlt es sich nicht ganz einfach an?

Ich glaube, Sie haben die Methode gemeistert, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der vue-cli3.0-Konfiguration

Angular CLI detaillierte Erläuterung der Schritte zum Erstellen eines Angular Projekt

Das obige ist der detaillierte Inhalt vonVue fährt bis zum Ende der Seite herunter und lädt die Daten sofort. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Fehler beim Laden des Plugins in Illustrator [Behoben] Fehler beim Laden des Plugins in Illustrator [Behoben] Feb 19, 2024 pm 12:00 PM

Erscheint beim Starten von Adobe Illustrator eine Meldung über einen Fehler beim Laden des Plug-Ins? Bei einigen Illustrator-Benutzern ist dieser Fehler beim Öffnen der Anwendung aufgetreten. Der Meldung folgt eine Liste problematischer Plugins. Diese Fehlermeldung weist darauf hin, dass ein Problem mit dem installierten Plug-In vorliegt, es kann jedoch auch andere Gründe haben, beispielsweise eine beschädigte Visual C++-DLL-Datei oder eine beschädigte Einstellungsdatei. Wenn dieser Fehler auftritt, werden wir Sie in diesem Artikel bei der Behebung des Problems unterstützen. Lesen Sie daher weiter unten weiter. Fehler beim Laden des Plug-Ins in Illustrator Wenn Sie beim Versuch, Adobe Illustrator zu starten, die Fehlermeldung „Fehler beim Laden des Plug-Ins“ erhalten, können Sie Folgendes verwenden: Als Administrator

Stremio-Untertitel funktionieren nicht; Fehler beim Laden der Untertitel Stremio-Untertitel funktionieren nicht; Fehler beim Laden der Untertitel Feb 24, 2024 am 09:50 AM

Untertitel funktionieren bei Stremio auf Ihrem Windows-PC nicht? Einige Stremio-Benutzer berichteten, dass in den Videos keine Untertitel angezeigt wurden. Viele Benutzer berichteten, dass ihnen die Fehlermeldung „Fehler beim Laden der Untertitel“ angezeigt wurde. Hier ist die vollständige Fehlermeldung, die bei diesem Fehler angezeigt wird: Beim Laden der Untertitel ist ein Fehler aufgetreten. Untertitel konnten nicht geladen werden: Dies könnte ein Problem mit dem von Ihnen verwendeten Plugin oder Ihrem Netzwerk sein. Wie in der Fehlermeldung angegeben, könnte es Ihre Internetverbindung sein, die den Fehler verursacht. Überprüfen Sie daher bitte Ihre Netzwerkverbindung und stellen Sie sicher, dass Ihr Internet ordnungsgemäß funktioniert. Abgesehen davon könnte es auch andere Gründe für diesen Fehler geben, darunter ein widersprüchliches Untertitel-Add-on, nicht unterstützte Untertitel für bestimmte Videoinhalte und eine veraltete Stremio-App. wie

PHP implementiert das unendliche Scrollen PHP implementiert das unendliche Scrollen Jun 22, 2023 am 08:30 AM

Mit der Entwicklung des Internets müssen immer mehr Webseiten das Laden durch Scrollen unterstützen, und das Laden durch unendliches Scrollen ist eine davon. Dadurch kann die Seite kontinuierlich neue Inhalte laden, sodass Benutzer reibungsloser im Internet surfen können. In diesem Artikel stellen wir vor, wie man das Laden von unendlichem Scrollen mit PHP implementiert. 1. Was ist unendliches Scrollen? Infinite Scroll Loading ist eine Methode zum Laden von Webinhalten basierend auf Bildlaufleisten. Sein Prinzip besteht darin, dass, wenn der Benutzer zum Ende der Seite scrollt, Hintergrunddaten asynchron über AJAX abgerufen werden, um kontinuierlich neue Inhalte zu laden. Diese Art von Lademethode

Outlook friert beim Einfügen eines Hyperlinks ein Outlook friert beim Einfügen eines Hyperlinks ein Feb 19, 2024 pm 03:00 PM

Wenn beim Einfügen von Hyperlinks in Outlook Probleme beim Einfrieren auftreten, kann dies an instabilen Netzwerkverbindungen, alten Outlook-Versionen, Störungen durch Antivirensoftware oder Add-In-Konflikten liegen. Diese Faktoren können dazu führen, dass Outlook Hyperlink-Vorgänge nicht ordnungsgemäß verarbeitet. Beheben, dass Outlook beim Einfügen von Hyperlinks einfriert. Verwenden Sie die folgenden Korrekturen, um das Einfrieren von Outlook beim Einfügen von Hyperlinks zu beheben: Überprüfen Sie installierte Add-Ins. Aktualisieren Sie Outlook. Deaktivieren Sie vorübergehend Ihre Antivirensoftware und versuchen Sie dann, ein neues Benutzerprofil zu erstellen. Office-Apps reparieren. Programm deinstallieren und neu installieren. Los geht's. 1] Überprüfen Sie die installierten Add-Ins. Möglicherweise verursacht ein in Outlook installiertes Add-In das Problem.

So lösen Sie das Problem, dass CSS nicht geladen werden kann So lösen Sie das Problem, dass CSS nicht geladen werden kann Oct 20, 2023 am 11:29 AM

Zu den Lösungen für das Problem, dass CSS nicht geladen werden kann, gehören die Überprüfung des Dateipfads, die Überprüfung des Dateiinhalts, das Löschen des Browser-Cache, die Überprüfung der Servereinstellungen, die Verwendung von Entwicklertools und die Überprüfung der Netzwerkverbindung. Detaillierte Einführung: 1. Überprüfen Sie zunächst den Pfad der CSS-Datei. Wenn sich die CSS-Datei in einem anderen Teil oder Unterverzeichnis der Website befindet, müssen Sie den richtigen Pfad angeben Die CSS-Datei befindet sich im Stammverzeichnis. 2. Überprüfen Sie den Dateiinhalt. Wenn der Pfad korrekt ist, liegt das Problem möglicherweise in der CSS-Datei usw.

Was soll ich tun, wenn Windows 7 den USB-Treiber nicht laden kann? Was soll ich tun, wenn Windows 7 den USB-Treiber nicht laden kann? Jul 11, 2023 am 08:13 AM

Bei der Installation des Win7-Systems stießen einige Internetnutzer auf eine Situation, in der das Laden des USB-Treibers fehlschlug. Das USB-Gerät konnte im neuen Win7-System nicht erkannt werden und gängige USB-Sticks, Mäuse und andere Geräte konnten nicht verwendet werden. Was soll ich also tun, wenn bei der Installation von Win7 der USB-Treiber nicht geladen werden kann? Lassen Sie sich von Xiaobai zeigen, wie Sie das Problem lösen können, dass der USB-Treiber bei der Installation von Win7 nicht geladen werden kann. Methode 1: 1. Zuerst schalten wir den Computer ein, rufen das Computersystem auf und überprüfen die Computersystemversion im Computersystem. Überprüfen Sie, ob die Version des Computersystems mit der Version des Gerätetreibers übereinstimmt. 2. Nachdem Sie die Treiberversion bestätigt haben, schließen Sie das USB-Gerät an das Computersystem an. Das Computersystem zeigt an, dass das Gerät keine Verbindung zum System herstellen kann. 3. Klicken Sie auf der Seite mit den Verbindungsinformationen auf die Schaltfläche „Hilfe“, um die Hilfeinformationen anzuzeigen. 4. Wenn die Computerabteilung

Wie kann ich mit JavaScript den Endlos-Scroll-Effekt erzielen, der automatisch geladen wird, wenn zum Ende der Seite gescrollt wird? Wie kann ich mit JavaScript den Endlos-Scroll-Effekt erzielen, der automatisch geladen wird, wenn zum Ende der Seite gescrollt wird? Oct 27, 2023 pm 06:30 PM

Wie erreicht JavaScript den Endlos-Scroll-Effekt, der automatisch geladen wird, wenn zum Ende der Seite gescrollt wird? Der Infinite-Scroll-Effekt ist eine der häufigsten Funktionen in der modernen Webentwicklung. Er kann beim Scrollen zum Ende der Seite automatisch mehr Inhalte laden, sodass Benutzer mehr Daten oder Ressourcen erhalten, ohne manuell auf Schaltflächen oder Links klicken zu müssen. In diesem Artikel untersuchen wir, wie Sie JavaScript verwenden, um diese Funktionalität zu erreichen, und stellen spezifische Codebeispiele bereit. Um den unendlichen Bildlaufeffekt zu erzielen, der beim Scrollen zum Ende der Seite automatisch geladen wird, ist er hauptsächlich in Folgendes unterteilt

Wie verwende ich JavaScript, um beim Scrollen zum Ende einer Webseite automatisch mehr Inhalte zu laden? Wie verwende ich JavaScript, um beim Scrollen zum Ende einer Webseite automatisch mehr Inhalte zu laden? Oct 18, 2023 am 11:40 AM

Wie implementiert JavaScript die Funktion, beim Scrollen zum Ende einer Webseite automatisch mehr Inhalte zu laden? Überblick: Unendliches Scrollen ist eine häufige Funktion moderner Internetanwendungen. Wenn Benutzer zum Ende der Webseite scrollen, werden automatisch mehr Inhalte geladen, was für ein besseres Benutzererlebnis sorgt. JavaScript kann uns dabei helfen, diese Funktionalität zu erreichen. In diesem Artikel werden spezifische Codebeispiele vorgestellt, wie Sie mit JavaScript auf Benutzer-Scroll-Ereignisse hören und basierend auf der Scroll-Position mehr Inhalte laden können. Spezifische Implementierung: Erstens in HTM

See all articles