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

Cara menggunakan komponen Suspense dalam Vue 3 untuk mencapai kesan peralihan pemuatan data

PHPz
Lepaskan: 2023-09-09 10:28:52
asal
1064 orang telah melayarinya

如何利用Vue 3中的Suspense组件实现数据加载过渡效果

Cara menggunakan komponen Suspense dalam Vue 3 untuk mencapai kesan peralihan pemuatan data

Pengenalan:
Apabila kerumitan aplikasi web meningkat, kesan peralihan pemuatan data telah menjadi keperluan pengalaman pengguna yang penting. Vue 3 telah membuat penambahbaikan lanjut dalam bidang ini dan memperkenalkan komponen Suspense untuk menyelesaikan masalah ini. Artikel ini akan memperkenalkan cara menggunakan komponen Suspense dalam Vue 3 untuk mencapai kesan peralihan pemuatan data dan melampirkan contoh kod yang sepadan.

  1. Memperkenalkan komponen Suspense
    Komponen Suspense dalam Vue 3 diperkenalkan untuk menyelesaikan masalah paparan status pemuatan data semasa proses pemuatan komponen tak segerak. Kita boleh membalut komponen tak segerak dengan menggunakan komponen Suspense dalam templat dan memaparkan keadaan pemuatan sebelum komponen tak segerak dimuatkan.
<template>
  <Suspense>
    <template #default>
      <AsyncComponent/>
    </template>
    <template #fallback>
      <loading-component/>
    </template>
  </Suspense>
</template>
Salin selepas log masuk
  1. Tentukan komponen tak segerak
    Komponen tak segerak boleh dimuatkan secara dinamik melalui fungsi import, dan Vue akan menukarnya secara automatik menjadi komponen tak segerak. Kita boleh memaparkan keadaan pemuatan semasa proses pemuatan komponen tak segerak sehingga komponen dimuatkan.
const AsyncComponent = defineAsyncComponent(
  () => import('./AsyncComponent.vue'),
  {
    loadingComponent: loadingComponent,
    errorComponent: errorComponent,
    delay: 200, // 延迟200毫秒显示loading状态
    timeout: 3000 // 3秒超时时间
  }
);
Salin selepas log masuk
  1. Komponen status pemuatan tersuai
    Komponen pemuatan dan Komponen ralat ialah komponen tersuai kami, yang masing-masing mewakili status pemuatan data dan kegagalan pemuatan. Kita boleh menyesuaikan kesan paparan kedua-dua komponen ini mengikut keperluan sebenar. Berikut ialah kod sampel untuk memuatKomponen:
<template>
  <div class="loading">数据加载中...</div>
</template>

<script>
export default {
  name: 'loadingComponent'
}
</script>

<style scoped>
.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  background-color: #f5f5f5;
}
</style>
Salin selepas log masuk
  1. Paparan selepas komponen dimuatkan
    Apabila komponen dimuatkan, kami boleh memaparkan data dalam komponen tak segerak. Pada masa ini, Vue akan menggantikan kandungan templat sandaran komponen Suspense secara automatik dengan kandungan komponen tak segerak.
<template>
  <div>
    <h1>{{title}}</h1>
    <p>{{content}}</p>
  </div>
</template>

<script>
export default {
  name: 'AsyncComponent',
  data() {
    return {
      title: '',
      content: ''
    }
  },
  created() {
    fetch('/api/data')
      .then(response => response.json())
      .then(data => {
        this.title = data.title;
        this.content = data.content;
      })
      .catch(error => {
        console.error(error);
      });
  }
}
</script>
Salin selepas log masuk
  1. Kod sampel penuh
    Berikut ialah kod sampel lengkap yang menunjukkan cara menggunakan komponen Suspense dalam Vue 3 untuk mencapai kesan peralihan pemuatan data.
<template>
  <Suspense>
    <template #default>
      <AsyncComponent/>
    </template>
    <template #fallback>
      <loading-component/>
    </template>
  </Suspense>
</template>

<script>
import { defineAsyncComponent, Suspense } from 'vue';
import AsyncComponent from './AsyncComponent.vue';
import LoadingComponent from './LoadingComponent.vue';

export default {
  name: 'App',
  components: {
    AsyncComponent,
    LoadingComponent
  }
}
</script>
Salin selepas log masuk

Kesimpulan:
Komponen Suspense dalam Vue 3 memudahkan kami melaksanakan kesan peralihan pemuatan data. Dengan memperkenalkan komponen Suspense, mentakrifkan komponen tak segerak dan komponen status pemuatan tersuai, kami boleh mencapai kesan peralihan pemuatan data dan meningkatkan pengalaman pengguna dengan mudah. Saya harap artikel ini berguna kepada anda, terima kasih kerana membaca!

Atas ialah kandungan terperinci Cara menggunakan komponen Suspense dalam Vue 3 untuk mencapai kesan peralihan pemuatan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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