Maison >interface Web >Voir.js >Comment utiliser le composant Suspense dans Vue 3 pour obtenir des effets de transition de chargement de données
Comment utiliser le composant Suspense dans Vue 3 pour obtenir des effets de transition de chargement de données
Introduction :
À mesure que la complexité des applications Web augmente, les effets de transition de chargement de données sont devenus une exigence importante en matière d'expérience utilisateur. Vue 3 a apporté de nouvelles améliorations dans ce domaine et a introduit le composant Suspense pour résoudre ce problème. Cet article expliquera comment utiliser le composant Suspense dans Vue 3 pour obtenir des effets de transition de chargement de données et joindra des exemples de code correspondants.
<template> <Suspense> <template #default> <AsyncComponent/> </template> <template #fallback> <loading-component/> </template> </Suspense> </template>
const AsyncComponent = defineAsyncComponent( () => import('./AsyncComponent.vue'), { loadingComponent: loadingComponent, errorComponent: errorComponent, delay: 200, // 延迟200毫秒显示loading状态 timeout: 3000 // 3秒超时时间 } );
<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>
<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>
<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>
Conclusion :
Le composant Suspense dans Vue 3 nous facilite la mise en œuvre des effets de transition de chargement de données. En introduisant le composant Suspense, en définissant des composants asynchrones et des composants d'état de chargement personnalisés, nous pouvons facilement obtenir l'effet de transition du chargement des données et améliorer l'expérience utilisateur. J'espère que cet article vous sera utile, merci d'avoir lu !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!