Jadual Kandungan
Infinite List
Rumah hujung hadapan web View.js Cara menggunakan Vue untuk mencapai kesan pemuatan yang tidak terhingga

Cara menggunakan Vue untuk mencapai kesan pemuatan yang tidak terhingga

Sep 19, 2023 pm 05:00 PM
vue kesan khas Pemuatan tidak terhingga

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
Salin selepas log masuk

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>
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan item data item, yang digunakan untuk menyimpan senarai kandungan yang dimuatkan halaman digunakan untuk merekodkan bilangan halaman yang sedang dimuatkan ; isLoading digunakan untuk menandakan sama ada data sedang dimuatkan. items,用于存储加载的内容列表;page用于记录当前加载的页数;isLoading用于标记当前是否正在加载数据。

我们在组件的mounted钩子函数中,监听了window对象的scroll事件,并在初始化时调用了loadData方法用于加载初始数据。

loadData方法模拟一个异步加载数据的过程。当数据加载完成后,我们使用for循环将新加载的数据添加到items数组中,并设置isLoadingfalse表示加载完成。

handleScroll方法用于处理滚动事件。我们通过获取sentinel元素的位置信息,判断是否滚动到页面底部,当滚动到底部时,调用loadData方法加载更多数据。

最后,在组件的destroyed钩子函数中,我们移除了对scroll

Dalam fungsi cangkuk 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 komponen

Dalam 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>
Salin selepas log masuk
Langkah 4: Menggayakan

Akhir sekali, kita perlu menggayakan senarai untuk menunjukkan kesan kesan pemuatan yang tidak terhingga. Anda boleh menggayakannya mengikut keinginan anda agar lebih sesuai dengan keperluan projek anda. 🎜🎜Kod contoh di atas hanya menyediakan fungsi pemaparan senarai dan pemuatan tatal yang paling asas, dan anda boleh mengembangkannya mengikut keperluan sebenar anda. Sebagai contoh, anda boleh menambah kesan animasi pemuatan, menambah muat semula tarik-turun dan fungsi lain. 🎜🎜Melalui langkah di atas, anda telah berjaya melaksanakan kesan pemuatan tak terhingga dalam projek Vue anda. Apabila pengguna menatal ke bahagian bawah halaman, lebih banyak kandungan dimuatkan secara automatik, meningkatkan pengalaman pengguna. 🎜🎜Saya harap artikel ini akan membantu anda memahami cara menggunakan Vue untuk mencapai kesan pemuatan yang tidak terhingga. Jika anda menghadapi sebarang soalan, jangan ragu untuk bertanya kepada kami! 🎜

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

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

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

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.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

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.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

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.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

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.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

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.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

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.

Cara Menggunakan Fungsi Memintas Vue Cara Menggunakan Fungsi Memintas Vue Apr 08, 2025 am 06:51 AM

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.

See all articles