


Bagaimana untuk melaksanakan pemuatan tatal dan paparan halaman tanpa had dalam komponen Vue
Cara melaksanakan pemuatan skrol dan paparan halaman tanpa had dalam komponen Vue
Dalam pembangunan bahagian hadapan, kami sering menghadapi situasi di mana sejumlah besar data perlu dipaparkan. Untuk meningkatkan pengalaman pengguna, kami biasanya memaparkan data dalam halaman dan memuatkan halaman seterusnya data secara automatik apabila menatal ke bahagian bawah halaman. Artikel ini akan memperkenalkan cara menggunakan komponen Vue untuk melaksanakan fungsi pemuatan tatal dan paparan halaman tanpa had serta memberikan contoh kod khusus.
Pertama, kita perlu menyediakan antara muka bahagian belakang untuk mendapatkan data paging. Katakan kita mempunyai antara muka /api/data
, yang melaluinya kita boleh mendapatkan senarai data nombor halaman (halaman) yang ditentukan. Format data yang dikembalikan oleh antara muka adalah seperti berikut: /api/data
,通过该接口可以获取指定页码(page)的数据列表。接口返回的数据格式如下:
{ "total": 100, // 总数据条数 "list": [...] // 当前页的数据列表 }
接下来,我们可以使用Vue的组件化开发思想,将滚动加载和分页展示的功能封装成一个独立的组件。我们可以称之为InfiniteScroll
组件。首先,我们需要在父组件中引入该组件,并传入必要的参数。
<template> <div> <infinite-scroll :api-url="'/api/data'" // 后端接口地址 :page-size="10" // 每页数据条数 @load-next-page="loadNextPage" > <!-- 数据展示的代码 --> </infinite-scroll> </div> </template>
在InfiniteScroll
组件中,我们需要监听滚动事件,并在滚动到页面底部时触发加载下一页数据的操作。我们可以使用window
对象的scroll
事件来监听滚动事件。
export default { data() { return { page: 1, // 当前页码 total: 0, // 总数据条数 list: [] // 当前页的数据列表 }; }, mounted() { window.addEventListener('scroll', this.handleScroll); }, destroyed() { window.removeEventListener('scroll', this.handleScroll); }, methods: { handleScroll() { const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; const documentHeight = document.documentElement.scrollHeight || document.body.scrollHeight; if (scrollTop + windowHeight >= documentHeight) { this.loadNextPage(); } }, async loadNextPage() { if (this.page >= Math.ceil(this.total / this.pageSize)) { return; // 已加载所有数据 } const response = await fetch(`${this.apiUrl}?page=${this.page + 1}`); const result = await response.json(); this.total = result.total; this.list = [...this.list, ...result.list]; this.page++; } } };
在上面的代码中,我们使用window.addEventListener
方法来添加滚动事件监听,以便在滚动到页面底部时触发加载下一页数据的操作。同时,在组件销毁时需要使用window.removeEventListener
方法来移除滚动事件监听。
在handleScroll
方法中,我们首先获取当前滚动的位置,包括页面滚动的距离(scrollTop)、视窗的高度(windowHeight)和文档的总高度(documentHeight)。然后判断当滚动位置加上视窗高度大于等于文档总高度时,说明已经滚动到页面底部,将触发加载下一页数据的操作。
在loadNextPage
方法中,我们首先判断是否已经加载所有数据,即当前页码是否大于数据总页数。如果已加载所有数据,则直接返回。否则,通过异步请求获取下一页数据,并将返回的数据合并到原有数据列表中,同时更新当前页码和总数据条数。
最后,在InfiniteScroll
组件内部,我们可以根据获取到的数据进行相应的展示。
<template> <div> <ul> <li v-for="item in list" :key="item.id">{{ item.name }}</li> </ul> <div v-if="page >= Math.ceil(total / pageSize)">已加载所有数据</div> </div> </template>
在上面的代码中,我们通过v-for
指令遍历数据列表,并根据每个元素的id
属性作为key
,保证列表元素的唯一性。同时,我们在组件底部添加一个提示,当页码大于等于总数据页数时,显示"已加载所有数据"的提示信息。
综上所述,我们通过引入InfiniteScroll
rrreee
InfiniteScroll
. Pertama, kita perlu memperkenalkan komponen dalam komponen induk dan lulus dalam parameter yang diperlukan. rrreee
Dalam komponenInfiniteScroll
, kita perlu mendengar acara tatal dan mencetuskan pemuatan halaman seterusnya data apabila menatal ke bahagian bawah halaman. Kita boleh menggunakan acara scroll
objek window
untuk mendengar acara menatal. 🎜rrreee🎜Dalam kod di atas, kami menggunakan kaedah window.addEventListener
untuk menambah pendengar acara tatal untuk mencetuskan pemuatan halaman seterusnya data apabila menatal ke bahagian bawah halaman. Pada masa yang sama, anda perlu menggunakan kaedah window.removeEventListener
untuk mengalih keluar pendengar acara tatal apabila komponen dimusnahkan. 🎜🎜Dalam kaedah handleScroll
, kita mula-mula mendapat kedudukan skrol semasa, termasuk jarak tatal halaman (scrollTop), ketinggian tetingkap (windowHeight) dan jumlah ketinggian dokumen (documentHeight). Kemudian ditentukan bahawa apabila kedudukan tatal ditambah ketinggian tetingkap lebih besar daripada atau sama dengan jumlah ketinggian dokumen, ini bermakna halaman itu telah ditatal ke bawah, dan operasi memuatkan halaman seterusnya data akan dicetuskan. 🎜🎜Dalam kaedah loadNextPage
, kami mula-mula menentukan sama ada semua data telah dimuatkan, iaitu sama ada nombor halaman semasa lebih besar daripada jumlah bilangan halaman data. Jika semua data telah dimuatkan, kembalikan terus. Jika tidak, dapatkan halaman data seterusnya melalui permintaan tak segerak, gabungkan data yang dikembalikan ke dalam senarai data asal dan kemas kini nombor halaman semasa dan jumlah bilangan item data pada masa yang sama. 🎜🎜Akhir sekali, di dalam komponen InfiniteScroll
, kami boleh memaparkan data dengan sewajarnya. 🎜rrreee🎜Dalam kod di atas, kami merentasi senarai data melalui arahan v-for
dan menggunakan atribut id
setiap elemen sebagai key
, memastikan keunikan elemen senarai. Pada masa yang sama, kami menambah gesaan di bahagian bawah komponen Apabila nombor halaman lebih besar daripada atau sama dengan jumlah halaman data, mesej gesaan "Semua data telah dimuatkan" dipaparkan. 🎜🎜Ringkasnya, dengan memperkenalkan komponen InfiniteScroll
dan memberikan parameter yang sepadan, kita boleh merealisasikan fungsi pemuatan skrol dan paparan halaman tanpa had. Dengan mendengar acara tatal, halaman data seterusnya dimuatkan secara automatik apabila menatal ke bahagian bawah halaman untuk mencapai kesan pemuatan tatal tidak terhingga. Pada masa yang sama, dengan mengemas kini data komponen, paparan halaman dilakukan berdasarkan bilangan item data pada setiap halaman dan jumlah bilangan item data. 🎜🎜Saya harap contoh kod yang disediakan dalam artikel ini akan membantu anda dan membolehkan anda melaksanakan fungsi pemuatan tatal dan paparan halaman tanpa had dalam komponen Vue. Jika anda mempunyai sebarang soalan atau cadangan untuk penambahbaikan, sila tinggalkan mesej untuk perbincangan. 🎜Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemuatan tatal dan paparan halaman tanpa had dalam komponen Vue. 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


![Ralat memuatkan pemalam dalam Illustrator [Tetap]](https://img.php.cn/upload/article/000/465/014/170831522770626.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Apabila memulakan Adobe Illustrator, adakah mesej tentang ralat memuatkan pemalam timbul? Sesetengah pengguna Illustrator telah mengalami ralat ini semasa membuka aplikasi. Mesej itu diikuti dengan senarai pemalam yang bermasalah. Mesej ralat ini menunjukkan bahawa terdapat masalah dengan pemalam yang dipasang, tetapi ia juga mungkin disebabkan oleh sebab lain seperti fail Visual C++ DLL yang rosak atau fail pilihan yang rosak. Jika anda menghadapi ralat ini, kami akan membimbing anda dalam artikel ini untuk menyelesaikan masalah, jadi teruskan membaca di bawah. Ralat memuatkan pemalam dalam Illustrator Jika anda menerima mesej ralat "Ralat memuatkan pemalam" semasa cuba melancarkan Adobe Illustrator, anda boleh menggunakan yang berikut: Sebagai pentadbir

Sarikata tidak berfungsi pada Stremio pada PC Windows anda? Sesetengah pengguna Stremio melaporkan bahawa sari kata tidak dipaparkan dalam video. Ramai pengguna melaporkan mengalami mesej ralat yang mengatakan "Ralat memuatkan sari kata." Berikut ialah mesej ralat penuh yang muncul dengan ralat ini: Ralat berlaku semasa memuatkan sari kata Gagal memuatkan sari kata: Ini mungkin masalah dengan pemalam yang anda gunakan atau rangkaian anda. Seperti yang dikatakan oleh mesej ralat, mungkin sambungan internet anda yang menyebabkan ralat. Jadi sila semak sambungan rangkaian anda dan pastikan internet anda berfungsi dengan baik. Selain itu, mungkin terdapat sebab lain di sebalik ralat ini, termasuk sarikata yang bercanggah, sari kata yang tidak disokong untuk kandungan video tertentu dan apl Stremio yang sudah lapuk. suka

Jika anda menghadapi isu beku semasa memasukkan hiperpautan ke dalam Outlook, ia mungkin disebabkan oleh sambungan rangkaian yang tidak stabil, versi Outlook lama, gangguan daripada perisian antivirus atau konflik tambahan. Faktor-faktor ini boleh menyebabkan Outlook gagal mengendalikan operasi hiperpautan dengan betul. Betulkan Outlook terhenti apabila memasukkan hiperpautan Gunakan pembetulan berikut untuk membetulkan Outlook terhenti apabila memasukkan hiperpautan: Semak alat tambah yang dipasang Kemas kini Outlook Lumpuhkan sementara perisian antivirus anda dan kemudian cuba buat profil pengguna baharu Betulkan apl Office Program Nyahpasang dan pasang semula Office Mari mulakan. 1] Semak add-in yang dipasang Mungkin add-in yang dipasang dalam Outlook menyebabkan masalah.

Dengan perkembangan Internet, semakin banyak halaman web perlu menyokong pemuatan tatal, dan pemuatan tatal yang tidak terhingga adalah salah satu daripadanya. Ia membolehkan halaman memuatkan kandungan baharu secara berterusan, membolehkan pengguna menyemak imbas web dengan lebih lancar. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan pemuatan skrol tak terhingga menggunakan PHP. 1. Apakah pemuatan skrol tak terhingga? Pemuatan skrol tak terhingga ialah kaedah memuatkan kandungan web berdasarkan bar skrol. Prinsipnya ialah apabila pengguna menatal ke bahagian bawah halaman, data latar belakang diambil secara tak segerak melalui AJAX untuk memuatkan kandungan baharu secara berterusan. Kaedah pemuatan seperti ini

Vue.js ialah rangka kerja JavaScript popular yang membolehkan pembangun membuat aplikasi web yang dinamik dan responsif dengan mudah. Antaranya, ia amat digemari oleh pembangun kerana keupayaan pembangunan komponennya yang berkuasa. Tatal tak terhingga dan susun atur aliran air terjun telah menjadi salah satu ciri yang sangat diperlukan dalam pembangunan web moden. Artikel ini bertujuan untuk memperkenalkan cara menggunakan Vue.js, digabungkan dengan beberapa perpustakaan pihak ketiga, untuk melaksanakan fungsi susun atur tatal tak terhingga dan aliran air terjun. Capai tatal tak terhingga tatal tak terhingga (Infinit

Penyelesaian kepada masalah yang CSS tidak boleh dimuatkan termasuk menyemak laluan fail, menyemak kandungan fail, mengosongkan cache penyemak imbas, menyemak tetapan pelayan, menggunakan alat pembangun dan menyemak sambungan rangkaian. Pengenalan terperinci: 1. Semak laluan fail Mula-mula, sila pastikan laluan fail CSS adalah betul. Jika fail CSS terletak di bahagian atau subdirektori laman web yang berbeza, anda perlu menyediakan laluan yang betul Fail CSS terletak dalam direktori akar, laluan harus terus ;

Cara mencipta senarai berita tatal tak terhingga menggunakan HTML, CSS dan jQuery Dalam pembangunan web, tatal tak terhingga ialah teknologi interaksi biasa, terutamanya sesuai untuk halaman seperti senarai berita yang perlu memuatkan sejumlah besar data. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk melaksanakan senarai berita tatal tak terhingga dan memberikan contoh kod khusus. Pertama, kita memerlukan struktur HTML asas untuk memaparkan senarai berita. Berikut ialah contoh mudah: <!DOCTYPE

Cara mengoptimumkan prestasi aplikasi melalui tatal tanpa had melalui senarai maya Vue Memandangkan kerumitan aplikasi bahagian hadapan terus meningkat, terutamanya apabila memproses sejumlah besar data, beberapa isu prestasi turut timbul. Dalam hal ini, Vue menyediakan alat yang berkuasa - senarai maya (VirtualList), yang boleh meningkatkan prestasi aplikasi dengan sangat baik apabila memproses sejumlah besar data dengan memaparkan unsur-unsur yang boleh dilihat secara dinamik dalam senarai. Artikel ini akan memperkenalkan cara menggunakan senarai maya Vue untuk melaksanakan penatalan tanpa had dan mengoptimumkan prestasi aplikasi. Kami akan menggunakan buku alamat maya
