Vue.js est un framework JavaScript populaire permettant de créer rapidement des applications Web interactives. La dernière version de Vue.js 3 offre de nombreuses nouvelles fonctionnalités et optimisations de performances, dont l'une des demandes très courantes est la création de listes déroulantes infinies. Cet article explique comment utiliser le plugin Vue.js pour créer une liste déroulante infinie.
Qu'est-ce qu'une liste déroulante infinie ?
Les listes déroulantes infinies sont un modèle de conception courant dans les applications Web qui chargent dynamiquement de grandes quantités de données (par exemple, des articles, des listes de produits, etc.) et chargent automatiquement davantage de données à mesure que l'utilisateur fait défiler vers le bas. Ce modèle de conception est très efficace pour améliorer l’expérience utilisateur et réduire le temps de chargement des pages.
Plugins Vue.js
Vue.js utilise des plugins pour étendre ses fonctionnalités. Les plugins peuvent ajouter des fonctionnalités globales aux applications Vue.js et sont faciles à utiliser dans les projets Vue.js. Les plugins Vue.js sont généralement ajoutés aux applications via la méthode Vue.use().
Plugins de liste à défilement infinie
Dans Vue.js, plusieurs plugins de liste à défilement infinie sont disponibles. L'un d'eux est v-infinite-scroll. v-infinite-scroll est un plugin vue.js léger basé sur des directives qui peut charger dynamiquement du contenu via des événements DOM (« défilement »).
Utilisez le plugin v-infinite-scroll pour implémenter une liste à défilement infini
Voici les étapes pour implémenter une simple liste à défilement infini à l'aide du plugin v-infinite-scroll :
Étape 1 : Installez le v-infinite-scroll plugin
Utilisez npm ou fil installez le plugin v-infinite-scroll :
npm install vue-infinite-scroll
npm install vue-infinite-scroll
或者
yarn add vue-infinite-scroll
yarn add vue-infinite-scroll
Deuxième étape : Importer le plug-in v-infinite-scroll Importer le plug-in v-infinite-scroll dans le composant Vue : import infiniteScroll from ‘vue-infinite-scroll’ export default { directives: { infiniteScroll } }
<div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> <ul> <li v-for="(item, index) in list" :key="index">{{ item }}</li> </ul> </div>
export default { data() { return { list: [ 'Item 1', 'Item 2', 'Item 3' ], busy: false } }, methods: { async loadMore() { if (this.busy) return this.busy = true // 模拟从服务器获得新数据的延迟 await new Promise(resolve => setTimeout(resolve, 2000)) this.list.push('Item ' + (this.list.length + 1)) this.busy = false } }, directives: { infiniteScroll } }
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!