当前位置: 首页 > news >正文

Vue3 Suspense 和 defineAsyncComponent 结合使用方法

Suspense用于协调对组件树中嵌套的异步依赖的处理。

defineAsyncComponent:定义一个异步组件,它在运行时是懒加载的。参数可以是一个异步加载函数,或是对加载行为进行更具体定制的一个选项对象。

异步组件的好处:使用 import() 函数式模式引入的组件,打包的时候都会做一个代码拆解,会打包成单独的文件,而不会打包到主包中,当使用的时候在进行加载,这样可以减少首屏加载时间,优化用户体验。

异步组件 HomeView.vue:

<script setup lang="ts">// 这里模拟异步方法await new Promise((resolve)=>{setTimeout(() => {resolve('接口返回成功')}, 1000);})
</script><template><div>我是异步组件</div>
</template> 

页面默认显示 “加载中...” ,当异步组件的异步方法返回成功,页面显示异步组件的内容,代码如下:

<script setup lang="ts">import { defineAsyncComponent } from "vue";const HomeView=defineAsyncComponent(()=>import('./views/HomeView.vue'))
</script><template><Suspense><template #default><HomeView></HomeView></template><template #fallback><div>加载中...</div></template></Suspense>
</template>

上述案例可用于实现大型项目的骨架屏效果,提升用户体验。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • springboot使用new方法实例化一个对象,在new的方法中要使用service或mapper接口方法
  • 双非计算机硕学FPGA有出路吗?
  • Element UI动态实现面包屑导航~
  • 1区Top期刊竟24小时内就录用?这7篇论文是走运吗,同行评审这一关怎么过的?
  • 图数据库框架及其支持的开发语言和应用场景
  • 【JAVA开发】JAVA开发手册
  • Hadoop大集群配置文档-粗略版-3万字长文 (包括hive,zookeeper,hbase,flume等中间件和mysql等)
  • git修改已提交的message信息
  • 微信拼团活动的制作步骤是什么
  • plsql不安装oracle能连接数据库吗 plsql不安装oracle客户端连接远程数据库怎么操作
  • 如何开放MySQL允许远程访问权限?MySQL如何远程访问?
  • LinuxC高级day04(gcc、gdb、makefile工具)
  • python媒体下载工具 you-get
  • centos安装rclone挂载alist
  • MATLAB中cdf2rdf函数用法
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • Angular 4.x 动态创建组件
  • bearychat的java client
  • ES6系列(二)变量的解构赋值
  • Go 语言编译器的 //go: 详解
  • JAVA_NIO系列——Channel和Buffer详解
  • node和express搭建代理服务器(源码)
  • windows-nginx-https-本地配置
  • 产品三维模型在线预览
  • 翻译:Hystrix - How To Use
  • 关于字符编码你应该知道的事情
  • 简单基于spring的redis配置(单机和集群模式)
  • 前端面试题总结
  • 山寨一个 Promise
  • 深度学习入门:10门免费线上课程推荐
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 跳前端坑前,先看看这个!!
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 译自由幺半群
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 正则表达式小结
  • ​Java并发新构件之Exchanger
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (1)(1.13) SiK无线电高级配置(五)
  • (2)nginx 安装、启停
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (蓝桥杯每日一题)love
  • (转) ns2/nam与nam实现相关的文件
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • 、写入Shellcode到注册表上线
  • ./configure,make,make install的作用(转)
  • .jks文件(JAVA KeyStore)
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架