前言:
当我们的项目达到一定的规模时,对于某些组件来说,我们并不希望一开始全部加载,而是需要的时候进行加载;这样的做得目的可以很好的提高用户体验 。
传统方式引入组件如下 , 这样会一次先加载所以组件
文章插图
先在项目中引入defineAsyncComponent,完整代码如下:
文章插图
为了实现这个功能,Vue3中为我们提供了一个方法,即defineAsyncComponent,这个方法可以传递两种类型的参数,分别是函数类型和对象类型,接下来我们分别学习 。
1.无配置项定义方式
文章插图
2.配置项定义方式
loader:同工厂函数;loadingComponent:加载异步组件时展示的组件;errorComponent:加载组件失败时展示的组件;delay:显示loadingComponent之前的延迟时间,单位毫秒,默认200毫秒;timeout:如果提供了timeout , 并且加载组件的时间超过了设定值,将显示错误组件,默认值为Infinity(单位毫秒);suspensible:异步组件可以退出<Suspense>控制,并始终控制自己的加载状态 。具体可以参考文档;onError:一个函数,该函数包含4个参数,分别是error、retry、fail和attempts,这4个参数分别是错误对象、重新加载的函数、加载程序结束的函数、已经重试的次数 。如下代码展示defineAsyncComponent方法的对象类型参数的用法:
const asyncPageWithOptions = defineAsyncComponent({ loader: () => import('./NextPage.vue'), // component配置项重新命名为loader delay: 200, timeout: 3000, errorComponent: ErrorComponent, loadingComponent: LoadingComponent})
【vue3的Async Components异步组件】
推荐阅读
- vue3中pinia的使用总结
- 华为手环6nfc和标准版的区别_哪款更值得入手
- 《华为的冬天》的原文 华为的冬天
- 唛头格式急 唛头的标准格式图
- 你手里的雅诗兰黛口红小样是真的还是假的
- 火山小视频是如何盈利的(火山视频怎么上传才有收益)
- 火山小视频是真的能赚钱吗(怎么利用抖音火山赚钱)
- 火山小视频是如何赚钱的(火山小视频怎么样才能挣钱)
- 火山视频怎么挣钱的(火山挣钱还是抖音挣钱)
- 深入理解AQS--jdk层面管程实现【管程详解的补充】