Kemahiran pengoptimuman dan pengalaman praktikal pemaparan senarai dalam Vue
Kata Pengantar
Dalam proses membangunkan aplikasi web menggunakan Vue, pemaparan senarai adalah keperluan biasa. Walau bagaimanapun, apabila terdapat sejumlah besar data dalam senarai, operasi DOM yang kerap boleh menyebabkan prestasi halaman menurun. Untuk menyelesaikan masalah ini, artikel ini akan memperkenalkan beberapa teknik pengoptimuman pemaparan senarai dalam Vue dan memberikan pengalaman praktikal serta contoh kod.
1. Elakkan menggunakan indeks sebagai nilai utama
Apabila menggunakan gelung v-for untuk membuat senarai dalam Vue, anda perlu memberikan nilai kunci untuk mengenal pasti setiap item secara unik. Dalam sesetengah kes, pembangun mungkin lebih suka menggunakan indeks bulat sebagai nilai utama. Walau bagaimanapun, pendekatan ini tidak disyorkan.
Terdapat beberapa masalah menggunakan indeks sebagai nilai utama. Apabila susunan dalam senarai berubah, Vue akan memaparkan semula DOM melalui algoritma perbezaan. Jika anda menggunakan indeks sebagai nilai utama, ia mungkin menyebabkan beberapa operasi DOM yang tidak diperlukan, sekali gus mengurangkan prestasi. Oleh itu, kita harus menggunakan pengecam unik setiap item sebagai nilai utama.
Contohnya:
<li v-for="item in items" :key="item.id">{{ item.name }}</li>
2. Gunakan v-show dan bukannya v-if
jika Kedua-dua v-show dan v-show boleh mengawal paparan dan menyembunyikan elemen DOM. Walau bagaimanapun, v-if mempunyai beberapa overhed tambahan kerana ia mencipta semula atau memusnahkan elemen DOM sepenuhnya. Dan v-show hanya menyembunyikan atau menunjukkan elemen DOM dengan mengubah suai sifat CSS. Oleh itu, apabila kita perlu kerap menukar paparan dan menyembunyikan item senarai, kita harus menggunakan v-show dan bukannya v-if. Contohnya:
<li v-for="item in items" :key="item.id" v-show="item.visible">{{ item.name }}</li>
Gunakan setiap item dalam cache
komponen yang lebih kompleks, kita boleh menggunakan cache komponen tempatan yang disediakan oleh Vue untuk meningkatkan prestasi. Dengan meletakkan definisi komponen dalam teg
<keep-alive> <item :key="item.id" v-for="item in items"></item> </keep-alive>
Empat dalam senarai adalah sangat besar , kita boleh Gunakan senarai maya untuk mengoptimumkan prestasi pemaparan. Senarai maya hanya akan memaparkan item senarai yang boleh dilihat pada masa ini, bukannya keseluruhan senarai. Senarai maya boleh dilaksanakan dengan mengira kedudukan dan saiz setiap item senarai secara dinamik.
Berikut ialah contoh penggunaan vue-virtual-scroll-list, pemalam senarai maya berasaskan Vue:
<virtual-list :size="items.length" :remain="10"> <template v-slot="{ range }"> <li v-for="index in range" :key="items[index].id">{{ items[index].name }}</li> </template> </virtual-list>
5. Gunakan pemuatan paging
Apabila jumlah data senarai terlalu besar, anda boleh menggunakan pemuatan halaman untuk mengurangkan kesan memuatkan sejumlah besar data sekaligus pada prestasi halaman. Dengan membahagikan senarai kepada berbilang halaman, hanya memuatkan data halaman semasa setiap kali, dan menyediakan fungsi penukaran halaman, tekanan pemaparan halaman dapat dikurangkan dengan berkesan.
Berikut ialah contoh penggunaan vue-infinite-scroll, pemalam memuatkan halaman berasaskan Vue:
<li v-for="item in items" :key="item.id">{{ item.name }}</li>
<button @click="loadMore">Load More</button>
> import InfiniteScroll daripada ' vue-infinite-scroll'
data() {
return { items: [], page: 1 }
kaedah: {
loadMore() { // AJAX请求获取下一页数据 // this.items = [...this.items, ...newData] this.page++ }
mounted() {
rreee
(Destroee
},
// 初始化分页加载插件 // this.$refs.infiniteScroll.addEventListener('scrolled', this.loadMore)
}
}
Kesimpulan
Melalui kemahiran pengoptimuman dan pengalaman praktikal di atas, kami boleh mengendalikan pemaparan senarai dengan lebih cekap dalam Vue dan mengoptimumkan prestasi halaman. Pemilihan nilai utama yang munasabah, penggunaan v-show, caching komponen setempat, senarai maya dan pemuatan halaman boleh meningkatkan kelajuan pemaparan halaman dan pengalaman pengguna. Saya harap artikel ini akan membantu anda dalam proses menggunakan pemaparan senarai dalam Vue.
Atas ialah kandungan terperinci Kemahiran pengoptimuman dan pengalaman praktikal pemaparan senarai dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!