Search
需要时再加载
只有渲染时才加载,减少首屏包体积。
const AsyncView = defineAsyncComponent({ loader: () => import('./View.vue'), loadingComponent: Loader, errorComponent: ErrorView, delay: 200, timeout: 10000, onError(err, retry, fail, attempts) { if (attempts < 3) retry() else fail() } })
最常用的场景:
const routes = [ { path: '/about', component: () => import('./About.vue') } ]
Vue 3 的 <Suspense> 可以处理异步组件的加载状态。
<Suspense>