


Cara menggunakan Vue untuk mencapai kesan pemuatan yang tidak terhingga
Cara menggunakan Vue untuk mencapai kesan pemuatan tak terhingga
Kesan pemuatan tak terhingga ialah kesan interaksi halaman web biasa yang memuatkan lebih banyak kandungan secara automatik apabila pengguna menatal halaman ke bawah. Dalam Vue, kita boleh menggunakan arahan dan fungsi cangkuk kitaran hayat yang disediakan untuk mencapai kesan istimewa ini. Artikel ini akan memperkenalkan cara menggunakan Vue untuk mencapai kesan pemuatan tanpa had dan memberikan contoh kod khusus.
Langkah 1: Permulaan projek
Mula-mula, pasang Vue dan kebergantungan yang sepadan dalam projek Vue. Jalankan arahan berikut dalam terminal untuk memasang:
npm install vue
Langkah 2: Buat komponen Vue
Seterusnya, kita perlu mencipta komponen untuk memaparkan senarai dan mengendalikan logik pemuatan tak terhingga.
Mula-mula, buat komponen baharu (contohnya, InfiniteList) dalam projek Vue anda.
<template> <div> <ul> <li v-for="item in items" :key="item">{{ item }}</li> <li ref="sentinel"></li> </ul> </div> </template> <script> export default { data() { return { items: [], page: 1, isLoading: false }; }, mounted() { window.addEventListener('scroll', this.handleScroll); this.loadData(); }, methods: { loadData() { this.isLoading = true; // 模拟异步加载数据 setTimeout(() => { for (let i = 0; i < 10; i++) { this.items.push(`Item ${this.items.length + 1}`); } this.isLoading = false; }, 1000); }, handleScroll() { const sentinel = this.$refs.sentinel; if (sentinel.getBoundingClientRect().top <= window.innerHeight) { this.page++; this.loadData(); } } }, destroyed() { window.removeEventListener('scroll', this.handleScroll); } }; </script>
Dalam kod di atas, kami mentakrifkan item data isLoading
digunakan untuk menandakan sama ada data sedang dimuatkan. items
,用于存储加载的内容列表;page
用于记录当前加载的页数;isLoading
用于标记当前是否正在加载数据。
我们在组件的mounted
钩子函数中,监听了window
对象的scroll
事件,并在初始化时调用了loadData
方法用于加载初始数据。
loadData
方法模拟一个异步加载数据的过程。当数据加载完成后,我们使用for
循环将新加载的数据添加到items
数组中,并设置isLoading
为false
表示加载完成。
handleScroll
方法用于处理滚动事件。我们通过获取sentinel
元素的位置信息,判断是否滚动到页面底部,当滚动到底部时,调用loadData
方法加载更多数据。
最后,在组件的destroyed
钩子函数中,我们移除了对scroll
mounted
komponen, kami mendengar acara scroll
objek window
dan memanggil loadData semasa pemula Kaedah
digunakan untuk memuatkan data awal. Kaedah loadData
menyerupai proses pemuatan data tak segerak. Apabila data dimuatkan, kami menggunakan gelung for
untuk menambah data yang baru dimuatkan pada tatasusunan item
dan menetapkan isLoading
kepada palsu
bermakna pemuatan selesai. KaedahhandleScroll
digunakan untuk mengendalikan acara skrol. Kami menentukan sama ada untuk menatal ke bahagian bawah halaman dengan mendapatkan maklumat kedudukan elemen sentinel
Apabila menatal ke bawah, panggil kaedah loadData
untuk memuatkan lebih banyak data. Akhir sekali, dalam fungsi cangkuk musnah
komponen, kami mengalih keluar pemantauan acara scroll
untuk mengelakkan kebocoran memori selepas komponen dimusnahkan. Langkah 3: Gunakan komponenDalam komponen utama projek Vue anda (seperti App.vue), perkenalkan dan gunakan komponen InfiniteList yang baru anda buat. <template> <div> <h1 id="Infinite-List">Infinite List</h1> <InfiniteList></InfiniteList> </div> </template> <script> import InfiniteList from './components/InfiniteList.vue'; export default { components: { InfiniteList } }; </script>
Atas ialah kandungan terperinci Cara menggunakan Vue untuk mencapai kesan pemuatan yang tidak terhingga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Pemintasan fungsi dalam VUE adalah teknik yang digunakan untuk mengehadkan bilangan kali fungsi dipanggil dalam tempoh masa yang ditentukan dan mencegah masalah prestasi. Kaedah pelaksanaan adalah: mengimport perpustakaan lodash: import {debounce} dari 'lodash'; Gunakan fungsi debounce untuk membuat fungsi memintas: const debouncedfunction = debounce (() = & gt; { / logical /}, 500); Panggil fungsi Intercept, dan fungsi kawalan dipanggil paling banyak sekali dalam 500 milisaat.
