Rumah > hujung hadapan web > View.js > teks badan

Cara mengendalikan pemaparan dan pengoptimuman sejumlah besar data dalam pembangunan teknologi Vue

WBOY
Lepaskan: 2023-10-11 08:18:14
asal
952 orang telah melayarinya

Cara mengendalikan pemaparan dan pengoptimuman sejumlah besar data dalam pembangunan teknologi Vue

Cara mengendalikan pemaparan dan pengoptimuman sejumlah besar data dalam pembangunan teknologi Vue memerlukan contoh kod khusus

Dengan perkembangan Internet dan peningkatan mendadak dalam jumlah data, pembangunan bahagian hadapan sering menghadapi masalah untuk memaparkan dan memaparkan sejumlah besar data. Bagi pembangun teknologi Vue, cara mengendalikan pemaparan dan pengoptimuman jumlah data yang besar dengan cekap telah menjadi topik penting. Artikel ini akan menumpukan pada kaedah mengendalikan pemaparan dan pengoptimuman data dalam jumlah besar dalam pembangunan teknologi Vue, dan menyediakan contoh kod khusus.

    <li>Paparan halaman

Apabila jumlah data terlalu besar, memaparkan semua data sekaligus boleh menyebabkan ketinggalan halaman dan penurunan kelajuan pemuatan. Oleh itu, anda boleh mempertimbangkan untuk memaparkan data dalam cara halaman, memuatkan hanya sejumlah kecil data setiap kali dan meningkatkan kelajuan pemuatan halaman. Dalam teknologi Vue, pemalam pihak ketiga seperti "vue-pagination" boleh digunakan untuk melaksanakan fungsi paging. Berikut ialah kod contoh mudah:

<template>
  <div>
    <div v-for="item in currentData" :key="item.id">{{ item.name }}</div>
    <pagination :total="total" :current="currentPage" @change="changePage"></pagination>
  </div>
</template>

<script>
import Pagination from 'vue-pagination'

export default {
  components: {
    Pagination
  },
  data() {
    return {
      data: [], // 所有数据
      pageSize: 10, // 每页数据量
      currentPage: 1 // 当前页数
    };
  },
  computed: {
    total() {
      return Math.ceil(this.data.length / this.pageSize); // 总页数
    },
    currentData() {
      const start = (this.currentPage - 1) * this.pageSize;
      const end = start + this.pageSize;
      return this.data.slice(start, end); // 当前页的数据
    }
  },
  methods: {
    changePage(page) {
      this.currentPage = page;
    }
  }
};
</script>
Salin selepas log masuk

Dalam kod di atas, data halaman semasa diperoleh dengan mengira atribut currentData dan dipaparkan dalam gelung pada halaman. Fungsi penomboran dilaksanakan melalui komponen Penomboran.

    <li>Tatal maya

Untuk paparan senarai jumlah data yang besar, pengguna selalunya tidak menyemak imbas semua data sekaligus. Oleh itu, anda boleh mempertimbangkan untuk memaparkan bahagian data yang boleh dilihat pada skrin dan memayakan data yang tidak kelihatan untuk menjimatkan sumber dan meningkatkan prestasi. Dalam teknologi Vue, pemalam pihak ketiga seperti "vue-virtual-scroll-list" boleh digunakan untuk melaksanakan penatalan maya. Berikut ialah kod sampel mudah:

<template>
  <virtual-list
    :data-key="'id'"
    :data-sources="data"
    :data-component="#list-item"
    :extraProps="{ pageSize: 50 }"
  >
    <li id="list-item" slot-scope="{ item }">
      {{ item.name }}
    </li>
  </virtual-list>
</template>

<script>
import VirtualList from 'vue-virtual-scroll-list'

export default {
  components: {
    VirtualList
  },
  data() {
    return {
      data: [] // 所有数据
    };
  }
};
</script>
Salin selepas log masuk

Dalam kod di atas, gunakan <virtual-list>组件实现虚拟滚动列表的功能,通过<li>元素来展示每一项数据。通过设置extraProps untuk menentukan jumlah data yang dimuatkan setiap kali untuk meningkatkan kecekapan pemaparan.

    <li>Gunakan sifat yang dikira dan caching

Apabila berurusan dengan jumlah data yang besar, pengiraan data yang kerap boleh menyebabkan kemerosotan prestasi halaman. Untuk mengelakkan situasi ini, anda boleh menggunakan sifat pengiraan Vue dan mekanisme caching untuk mengoptimumkan data. Berikut ialah kod sampel mudah:

<template>
  <div>
    <div v-for="item in filteredData" :key="item.id">{{ item.name }}</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      data: [], // 所有数据
      filter: '' // 过滤条件
    };
  },
  computed: {
    filteredData() {
      return this.data.filter(item => item.name.includes(this.filter)); // 根据过滤条件筛选数据
    }
  }
};
</script>
Salin selepas log masuk

Dalam kod di atas, data ditapis dan ditapis melalui sifat terkira filteredData. Disebabkan oleh mekanisme caching sifat yang dikira, data hanya akan dikira semula apabila keadaan penapis berubah.

Ringkasan:

Perenderan dan pengoptimuman pemprosesan sejumlah besar data ialah topik penting dalam pembangunan teknologi Vue. Melalui paparan penomboran, tatal maya dan penggunaan sifat yang dikira dan caching, kelajuan memuatkan dan prestasi halaman boleh dipertingkatkan dengan berkesan. Contoh kod di atas hanyalah contoh mudah dan perlu disesuaikan dan diselaraskan mengikut keperluan sebenar dalam projek sebenar. Saya harap pembaca boleh mendapatkan inspirasi daripadanya untuk mengendalikan pemaparan dan pengoptimuman sejumlah besar data dalam pembangunan sebenar dengan lebih baik.

Atas ialah kandungan terperinci Cara mengendalikan pemaparan dan pengoptimuman sejumlah besar data dalam pembangunan teknologi Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan