首页 > 其他分享 >vue3的Async Components异步组件

vue3的Async Components异步组件

时间:2022-10-06 15:33:25浏览次数:78  
标签:异步 函数 loadingComponent defineAsyncComponent Components vue3 组件 Async 加载

前言:

当我们的项目达到一定的规模时,对于某些组件来说,我们并不希望一开始全部加载,而是需要的时候进行加载;这样的做得目的可以很好的提高用户体验。

传统方式引入组件如下,这样会一次先加载所以组件

先在项目中引入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
})

标签:异步,函数,loadingComponent,defineAsyncComponent,Components,vue3,组件,Async,加载
From: https://www.cnblogs.com/yihuanhuan/p/16757730.html

相关文章

  • 备战2021:vue3+ts开发指南
    Vue3+Typescript开发指南为什么要使用Ts应不应该使用TS开发Vue3是当前的热门话题,大家主要纠结成本和收益之间的取舍。什么是TypeScript官网:构建于JavaScript,增加了静态类......
  • vue3中pinia的使用总结
      pinia的简介和优势:Pinia是Vue生态里Vuex的代替者,一个全新Vue的状态管理库。在Vue3成为正式版以后,尤雨溪强势推荐的项目就是Pinia。那先来看看Pinia比Vuex好的地方,也......
  • Android Asynchronous HTTPClient的实现和优化
    大家知道Android对UI线程的反应时间要求很高,超过5秒钟直接ANR掉,根本不给你机会多等。而Android应用与后端系统的交互是最基本的需求之一,如何实现高效的AsynchronousHTTPCli......
  • ts+vite3+vue3+mock+qs实现本地模拟数据功能
    第一步:安装qs因为项目中用到了ts,所以还需要安装:第二步:安装mock第三步:创建Vue页面:Category.vue<template><button@click="getById">getById</button><button......
  • 【Vue3.x】全局组件、局部组件和递归组件
    全局组件没啥讲的,和vue2一样,常规是src下components文件夹下新建全局组件,然后去入口文件main.ts里注册全局组件。然后就能在全局使用了import{createApp}from'vue'i......
  • vue3组合式API
     选项API生命周期选项和组合式API之间的映射beforeCreate ->use setup()created ->use setup()beforeMount -> onBeforeMountmounted -> onMo......
  • vue3 ref()和reactive()的
    vue3中对响应式数据的声明官方给出了ref()和reactive()这两种方式,今天我们来聊聊两种定义定义数据方式有什么不同如上代码,我们使用变量声明的方式,ref的方式,reactive......
  • Vue3.x 组合式api的生命周期钩子
    Vue3组合式api的生命周期beforeCreatecreated,setup语法糖模式(组合式api)是没有这两个生命周期的,用setup去代替onBeforeMount获取不到DOM,onMounted可以获取DOMon......
  • quick-vue3-admin
    quick-vue3-admin是一款免费开源快速搭建中后台系统框架。本框架基于vite2+element-plus等最新主流技术并封装了通用的组件方便开发者提高工作效率。后期也会通过版本升......
  • 【vue3+ts后台管理】项目搭建
    文章目录​​项目创建​​​​引入element-plus​​​​完整引入​​​​按需引入​​​​【vue3+typescript】Vue3+TS电商后台系统项目实战​​项目创建首先执行​​vuecr......