Rumah >hujung hadapan web >View.js >Bagaimana untuk melaksanakan senarai tatal tak terhingga dalam Vue

Bagaimana untuk melaksanakan senarai tatal tak terhingga dalam Vue

WBOY
WBOYasal
2023-11-07 12:09:221286semak imbas

Bagaimana untuk melaksanakan senarai tatal tak terhingga dalam Vue

Cara melaksanakan senarai tatal tak terhingga dalam Vue

Pengenalan:
Senarai tatal tak terhingga adalah perkara biasa dalam web moden Ia boleh membuat senarai panjang menjadi lebih lancar dan memuatkan lebih banyak data secara automatik apabila pengguna menatal ke bawah. Melaksanakan senarai tatal tak terhingga dalam Vue tidaklah rumit Artikel ini akan memperkenalkan kaedah pelaksanaan untuk membantu anda melaksanakan senarai tatal tak terhingga dengan mudah.

Idea pelaksanaan:
Idea asas untuk melaksanakan senarai tatal tak terhingga adalah untuk mendengar acara tatal dan mencetuskan operasi memuatkan lebih banyak data apabila menatal ke bahagian bawah senarai. Dalam Vue, kita boleh terus menggunakan arahan Vue (v-scroll) untuk mendengar acara tatal dan menggunakan beberapa kawalan logik khusus untuk menentukan sama ada bahagian bawah senarai telah dicapai.

Langkah khusus adalah seperti berikut:

  1. Buat komponen senarai:
    Pertama, kita perlu mencipta komponen senarai untuk memaparkan data. Dalam contoh ini, kami menggunakan elemen ul mudah untuk mencipta senarai menegak:
<template>
  <ul class="list">
    <li v-for="item in items" :key="item.id">{{ item.name }}</li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      items: [], // 数据列表
    };
  },
  mounted() {
    // 初始化数据
    this.fetchData();
  },
  methods: {
    fetchData() {
      // 模拟异步获取数据
      setTimeout(() => {
        const newItems = // 模拟异步获取的新数据
        this.items.push(...newItems);
      }, 1000);
    },
  },
};
</script>

<style>
.list {
  /* 列表样式 */
}
</style>
  1. Tambah pendengar skrol:
    Seterusnya, kita perlu menambah skrol pendengar kepada senarai Tambah pendengar tatal pada komponen untuk mencetuskan logik memuatkan lebih banyak data apabila menatal ke bawah. Dalam Vue, kita boleh menggunakan arahan Vue (v-scroll) untuk mendengar acara tatal:
<template>
  <ul class="list" v-scroll="onScroll">
    <!-- ... -->
  </ul>
</template>
  1. laksanakan logik tatal ke bawah:
    dalam menatal Dalam panggilan balik acara, kita perlu melaksanakan logik untuk menentukan sama ada skrol telah mencapai bahagian bawah senarai. Kaedah penghakiman biasa adalah untuk menilai sama ada jarak tatal bar skrol dekat dengan bahagian bawah bekas tatal Jika ia hampir dengan bahagian bawah, cetuskan operasi memuatkan lebih banyak data.

Dalam Vue, kita boleh menggunakan clientHeightscrollTopscrollHeight属性来计算滚动条的位置。其中,clientHeight表示滚动容器的可见高度,scrollTop表示滚动条滚动的距离,scrollHeight untuk mewakili jumlah ketinggian bekas skrol.

<template>
  <ul class="list" v-scroll="onScroll" ref="list">
    <!-- ... -->
  </ul>
</template>

<script>
export default {
  // ...
  methods: {
    onScroll() {
      // 滚动容器
      const list = this.$refs.list;

      // 判断是否滚动到底部
      if (list.scrollTop + list.clientHeight >= list.scrollHeight) {
        this.fetchData();
      }
    },
  },
};
</script>
  1. Mekanisme pramuat:
    Untuk meningkatkan prestasi, kami boleh memuatkan lebih banyak data lebih awal apabila menatal ke bawah untuk memberikan pengalaman pengguna yang lebih lancar. Amalan biasa ialah mencetuskan pemuatan data apabila jarak tertentu dari bawah.
<template>
  <ul class="list" v-scroll="onScroll" ref="list">
    <!-- ... -->
  </ul>
</template>

<script>
export default {
  // ...
  methods: {
    onScroll() {
      // 滚动容器
      const list = this.$refs.list;

      // 判断是否接近底部
      if (list.scrollTop + list.clientHeight >= list.scrollHeight - 100) {
        this.fetchData();
      }
    },
  },
};
</script>

Kesimpulan:
Melalui langkah di atas, kami berjaya melaksanakan senarai tatal tak terhingga mudah dalam Vue. Walaupun artikel ini hanya menyediakan satu idea pelaksanaan, sebenarnya terdapat banyak kaedah pelaksanaan lain dan anda boleh membuat pengubahsuaian dan pengoptimuman yang sesuai mengikut keperluan anda sendiri. Saya harap artikel ini akan membantu anda memahami cara melaksanakan senarai tatal tanpa had dalam Vue. Komen dan cadangan dialu-alukan untuk belajar dan membuat kemajuan bersama.

Rujukan:

  • Vue.js dokumentasi rasmi: https://cn.vuejs.org/
  • Vue v- tatal dokumentasi arahan: https://v1.vuejs.org/guide/custom-directive.html#Scrolling

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan senarai tatal tak terhingga dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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