Suspense — async component loading.
Basic:
1<Suspense>2 <template #default>3 <AsyncComponent />4 </template>5 <template #fallback>6 <LoadingSpinner />7 </template>8</Suspense>
Async setup:
1<script setup>2const data = await fetch("/api/data").then(r => r.json())3</script>
Error handling:
1<Suspense>2 <template #default>3 <AsyncComponent />4 </template>5 <template #fallback>6 <Loading />7 </template>8</Suspense>9<ErrorBoundary />
Key: Suspense for async loading states.