1.简介
vue3中的Async Components异步组件使用进行了很大的改动,改动如下:
- 使用
defineAsyncComponent
方法来定义async components异步组件 - 组件配置项的
component
重新命名为loader
- loader函数(对应vue2的component函数)不再接受resolve和reject参数,并且必须返回Promise
2.vue2的使用方式
vue2中通过一个返回promise函数来定义async components异步组件:
const asyncPage = () => import('./NextPage.vue')
多配置方式如下:
const asyncPage = {
component: () => import('./NextPage.vue'),
delay: 200,
timeout: 3000,
error: ErrorComponent,
loading: LoadingComponent
}
3.vue3的使用方式
在vue3中,定义async components异步组件
必须使用defineAsyncComponent
方法来明确定义async components异步组件而不是同步组件。同时,component
配置项重新命名为loader
。示例如下:
import { defineAsyncComponent } from 'vue' // 需要引入defineAsyncComponent
import ErrorComponent from './components/ErrorComponent.vue'
import LoadingComponent from './components/LoadingComponent.vue'
// 无配置项定义方式
const asyncPage = defineAsyncComponent(() => import('./NextPage.vue'))
// 配置项定义方式
const asyncPageWithOptions = defineAsyncComponent({
loader: () => import('./NextPage.vue'), // component配置项重新命名为loader
delay: 200,
timeout: 3000,
errorComponent: ErrorComponent,
loadingComponent: LoadingComponent
})
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!