Maison interface Web js tutoriel Comment implémenter le chargement infini de données en faisant défiler vers le bas de la page sous Vue

Comment implémenter le chargement infini de données en faisant défiler vers le bas de la page sous Vue

Jun 02, 2018 pm 01:59 PM
bas 滚动 页面

Cette fois, je vais vous montrer comment implémenter un chargement infini de données en faisant défiler vers le bas de la page sous Vue. Quelles sont les précautions pour faire défiler vers le bas de la page sous Vue. un coup d'oeil une fois.

J'ai vu un article Implémenter un défilement infini avec Vue.js et j'ai pensé que c'était assez pratique, alors je l'ai lu et je l'ai brièvement traduit pour référence pour ceux qui en ont besoin

De ce projet. vous pouvez approfondir la compréhension du cycle de vie de Vue, quand démarrer la requête axios, comment utiliser js natif avec Vue pour écrire des événements de défilement, etc. Ici, j'extrait et complète principalement les points clés du texte original

Points techniques de cet article

  1. Cycle de vie de Vue

  2. Utilisation simple d'axios

  3. Date formatée moment.js

  4. Chargement paresseux des images

  5. Combiné avec du js natif pour écrire un défilement événements

  6. Limitation des demandes

Créer un projet

Créez d'abord un projet simple vue

# vue init webpack-simple infinite-scroll-vuejs
Copier après la connexion

Ensuite, installez quelques plug-ins nécessaires au projet

# npm install axios moment
Copier après la connexion

Initialisez les données utilisateur

Une fois le projet terminé construit, exécutez-le et jetez un œil

# npm run dev
Copier après la connexion

Après avoir ouvert correctement http://localhost:8080, nous avons commencé à modifier le code

<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>
Copier après la connexion
<.>L'auteur original a également spécifiquement rappelé ici que c'est totalement inutile. Il n'est pas recommandé de demander 5 fois lors du chargement de la page, mais cette interface ne peut renvoyer qu'une seule donnée à la fois, et n'est utilisée qu'à des fins de test. Bien sûr, je peux également utiliser Mock pour simuler des données ici, donc je n'entrerai pas dans les détails~

Ensuite, écrivez la structure et le style du modèle, comme suit :

<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>
Copier après la connexion
Dans ce De cette manière, la page peut afficher les informations personnelles de 5 personnes.

Gérer la logique de chargement par défilement infini

Nous devons ensuite ajouter scroll() dans les méthodes pour surveiller le défilement, et cet événement doit être dans le cycle de vie de Mounted(). Le code est le suivant :

<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>
Copier après la connexion
Le texte original de ce code comporte quelques fautes d'orthographe. Je l'ai corrigé ici et j'ai également augmenté la distance. du bas pour commencer à charger les données et à intercepter le flux

Enregistrez-le, retournez dans le navigateur et vérifiez l'effet~

RésuméLa fonction de défilement vers le bas de la page pour charger à l'infini est en fait similaire au développement de page ordinaire sur Vue. Chaque chargement par défilement est inachevé. Dans ce cas, la requête ne sera pas déclenchée la prochaine fois. le tableau. Le chargement paresseux est implémenté via la

liaison de données

de (en fait 0 0 je ne suis pas vraiment d'accord avec ça) ...), après l'avoir lu, il semble assez simple.Enfin, j'en ai également fait une copie sur GitHub Si vous en avez besoin, vous pouvez jeter un œil à infinite-scroll-vuejs-demo~

Je vous crois. J'ai maîtrisé la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment utiliser JS pour implémenter le codage Huffman


Comment utiliser Angular CLI pour créer un Angular projet

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment copier une page dans Word Comment copier une page dans Word Feb 20, 2024 am 10:09 AM

Vous souhaitez copier une page dans Microsoft Word et conserver la mise en forme intacte ? C'est une bonne idée car la duplication de pages dans Word peut être une technique utile pour gagner du temps lorsque vous souhaitez créer plusieurs copies d'une mise en page ou d'un format de document spécifique. Ce guide vous guidera pas à pas à travers le processus de copie de pages dans Word, que vous créiez un modèle ou que vous copiez une page spécifique dans un document. Ces instructions simples sont conçues pour vous aider à recréer facilement votre page sans avoir à repartir de zéro. Pourquoi copier des pages dans Microsoft Word ? Il existe plusieurs raisons pour lesquelles copier des pages dans Word est très bénéfique : Lorsque vous souhaitez copier un document avec une mise en page ou un format spécifique. Contrairement à la recréation de la page entière à partir de zéro

Comment implémenter le défilement vers une position d'élément spécifiée en JavaScript ? Comment implémenter le défilement vers une position d'élément spécifiée en JavaScript ? Oct 22, 2023 am 08:12 AM

Comment implémenter la fonction de défilement vers une position d'élément spécifiée en JavaScript ? Dans une page Web, lorsque nous devons concentrer l'attention de l'utilisateur sur une position d'élément spécifique, nous pouvons utiliser JavaScript pour implémenter la fonction de défilement jusqu'à la position d'élément spécifiée. Cet article présentera comment implémenter cette fonction via JavaScript et fournira des exemples de code correspondants. Tout d’abord, nous devons obtenir les informations de position de l’élément cible. Vous pouvez utiliser Element.getBoundingClient

Comment actualiser rapidement une page Web ? Comment actualiser rapidement une page Web ? Feb 18, 2024 pm 01:14 PM

L'actualisation des pages est très courante dans notre utilisation quotidienne du réseau. Lorsque nous visitons une page Web, nous rencontrons parfois certains problèmes, comme la page Web qui ne se charge pas ou ne s'affiche pas anormalement, etc. À ce stade, nous choisissons généralement d'actualiser la page pour résoudre le problème, alors comment actualiser la page rapidement ? Discutons des touches de raccourci pour l'actualisation de la page. La touche de raccourci d'actualisation de page est une méthode permettant d'actualiser rapidement la page Web actuelle via des opérations au clavier. Dans différents systèmes d'exploitation et navigateurs, les touches de raccourci pour l'actualisation de la page peuvent être différentes. Ci-dessous, nous utilisons le W commun

Comment personnaliser et modifier le mode veille sur iPhone : nouveautés d'iOS 17 Comment personnaliser et modifier le mode veille sur iPhone : nouveautés d'iOS 17 Sep 21, 2023 pm 04:01 PM

La veille est une nouvelle fonctionnalité de la mise à jour iOS 17 qui offre un moyen nouveau et amélioré d'accéder aux informations lorsque votre téléphone est rapidement inactif. Avec StandBy, vous pouvez facilement vérifier l'heure, afficher les événements à venir, parcourir votre calendrier, obtenir des mises à jour météo pour votre emplacement, et bien plus encore. Une fois activé, l’iPhone entrera intuitivement en mode veille lorsqu’il sera réglé en mode paysage pendant le chargement. Cette fonctionnalité est parfaite pour les points de chargement sans fil comme votre table de chevet, ou lorsque vous êtes loin de charger votre iPhone pendant les tâches quotidiennes. Il vous permet de parcourir différents widgets affichés en veille pour accéder à différents ensembles d'informations provenant de diverses applications. Cependant, vous souhaiterez peut-être modifier ces widgets ou même en supprimer certains en fonction de vos préférences et des informations dont vous avez fréquemment besoin. Alors plongeons-nous dans

Comment implémenter le saut de page en 3 secondes : Guide de programmation PHP Comment implémenter le saut de page en 3 secondes : Guide de programmation PHP Mar 25, 2024 am 10:42 AM

Titre : Méthode d'implémentation du saut de page en 3 secondes : Guide de programmation PHP Dans le développement web, le saut de page est une opération courante. Généralement, nous utilisons des balises méta dans les méthodes HTML ou JavaScript pour accéder aux pages. Cependant, dans certains cas précis, nous devons effectuer des sauts de page côté serveur. Cet article expliquera comment utiliser la programmation PHP pour implémenter une fonction qui accède automatiquement à une page spécifiée dans les 3 secondes, et donnera également des exemples de code spécifiques. Le principe de base du saut de page en utilisant PHP PHP est une sorte de.

Comment résoudre le problème selon lequel la page Laravel ne peut pas afficher correctement le CSS Comment résoudre le problème selon lequel la page Laravel ne peut pas afficher correctement le CSS Mar 10, 2024 am 11:33 AM

"Comment gérer l'échec des pages Laravel à afficher correctement les CSS, des exemples de code spécifiques sont requis" Lorsque vous utilisez le framework Laravel pour développer des applications Web, vous rencontrerez parfois le problème que la page ne peut pas afficher correctement les styles CSS, ce qui peut provoquer le page pour afficher des styles anormaux. Affecte l’expérience utilisateur. Cet article présentera quelques méthodes pour gérer l'échec des pages Laravel à afficher correctement le CSS et fournira des exemples de code spécifiques pour aider les développeurs à résoudre ce problème courant. 1. Vérifiez le chemin du fichier. Vérifiez d’abord le chemin du fichier CSS.

HTML, CSS et jQuery : créez un tableau d'affichage à défilement automatique HTML, CSS et jQuery : créez un tableau d'affichage à défilement automatique Oct 27, 2023 pm 06:31 PM

HTML, CSS et jQuery : créez un tableau d'affichage à défilement automatique Dans la conception Web moderne, les tableaux d'affichage sont souvent utilisés pour transmettre des informations importantes et attirer l'attention des utilisateurs. Un tableau d'affichage à défilement automatique est largement utilisé sur les pages Web. Il permet au contenu du bulletin de défiler et de s'afficher sur la page sous forme d'animation, améliorant ainsi l'effet d'affichage des informations et l'expérience utilisateur. Cet article explique comment utiliser HTML, CSS et jQuery pour créer un tableau d'affichage à défilement automatique et fournit des exemples de code spécifiques. Tout d'abord, nous avons besoin d'un HT

Surveiller le comportement de défilement des iframes Surveiller le comportement de défilement des iframes Feb 18, 2024 pm 08:40 PM

Comment surveiller le défilement d'une iframe nécessite des exemples de code spécifiques Lorsque nous utilisons la balise iframe pour intégrer d'autres pages Web dans une page Web, nous devons parfois effectuer certaines opérations spécifiques sur le contenu de l'iframe. L'un des besoins courants est d'écouter l'événement de défilement de l'iframe afin que le code correspondant puisse être exécuté lorsque le défilement se produit. Ce qui suit explique comment utiliser JavaScript pour surveiller le défilement d'une iframe et fournit des exemples de code spécifiques à titre de référence. Récupérer l'élément iframe Tout d'abord, nous avons besoin

See all articles