首页 > 其他分享 >vue3 Suspense

vue3 Suspense

时间:2023-11-10 11:59:47浏览次数:39  
标签:异步 Suspense vue3 组件 内容 AsyncComponent 加载


在Vue.js 3中,Suspense 是一个用于处理异步组件的特殊组件,它允许你在等待异步组件加载时展示备用内容。这对于优化用户体验、处理懒加载组件或异步数据获取时非常有用。Suspense 的主要目标是简化异步操作的状态管理和展示。

下面是一个简单的例子,演示了如何在Vue.js 3中使用Suspense

<template>
  <div>
    <Suspense>
      <template #default>
        <AsyncComponent />
      </template>
      <template #fallback>
        <div>Loading...</div>
      </template>
    </Suspense>
  </div>
</template>

<script>
const AsyncComponent = () => import('./AsyncComponent.vue');

export default {
  components: {
    AsyncComponent,
  },
};
</script>

在这个例子中:

  • <Suspense> 标签包裹了异步组件 <AsyncComponent>
  • <Suspense> 内部,通过使用 <template #default> 来指定当异步组件加载完毕时显示的内容,使用 <template #fallback> 来指定在异步组件加载过程中显示的备用内容,这里是一个简单的 "Loading..." 消息。

<AsyncComponent> 被触发加载时,<Suspense> 会渲染 #fallback 内的内容,直到异步组件加载完成。一旦异步组件加载完成,<Suspense> 会切换到显示 #default 内的内容,也就是实际的异步组件内容。

这样,通过使用 Suspense,你可以更容易地处理异步组件的加载状态,而不需要手动管理加载中的状态或添加大量的条件渲染逻辑。

标签:异步,Suspense,vue3,组件,内容,AsyncComponent,加载
From: https://www.cnblogs.com/ht955/p/17823761.html

相关文章

  • vue3 KeepAlive
    在Vue.js3中,<keep-alive>是一个抽象组件,用于保留其子组件状态,防止在切换组件时销毁它们。这对于在页面间切换时保留组件的状态或避免重复渲染特定组件非常有用。<keep-alive>主要用于缓存组件,以提高性能和用户体验。以下是一个简单的例子,演示了如何在Vue.js3中使用<keep-ali......
  • vue3 Teleport
    在Vue.js3中,Teleport是一种特殊的组件,用于在DOM树中的任何地方渲染其内容,而不受父组件的约束。这对于需要将组件的内容移动到DOM树的其他部分时非常有用,例如在模态框或弹出窗口中使用。Teleport提供了两个名为teleport和teleport-to的指令,用于定义内容的来源和目标位......
  • Vite4+Typescript+Vue3+Pinia 从零搭建(2) - tsconfig配置
    tsconfig配置项目代码同步至码云weiz-vue3-template关于tsconfig的配置字段可查看其他文档,如typeScripttsconfig配置详解tsconfig.json文件修改如下:{"compilerOptions":{"target":"ESNext",//将代码编译为最新版本的JS"useDefineForClassFields":tr......
  • Vite4+Typescript+Vue3+Pinia 从零搭建(1) - 项目初始化
    项目初始化项目代码同步至码云weiz-vue3-template前提准备1.node版本Node.js版本>=12,如果有老项目需要旧版本的,推荐用nvm管理node版本。PSC:\Users\Administrator>nvm--version1.1.11PSC:\Users\Administrator>nvmlist*16.20.2(Currentlyusing64-bit......
  • 11 9 学习vue3
    今天创建了vue项目,了解了vue项目的目录如下: vue的组件分为组合式api和选项式api ①创建了组件内容如下:<scriptsetup>import{articleGetAllService,articleSearchService}from'@/api/article.js'//定义响应式数据import{ref}from'vue';constarticleList=re......
  • 记录--vue3 setup 中国省市区三级联动options最简洁写法,无需任何库
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助在写页面的时候,发现表单里面有一个省市区的options组件要写,因为表单很多地方都会用到这个地址选择,我便以为很简单嘛。虽然很简单的一个功能,但是网络上能搜索到的教程大多都是需要配合elementUI等各种UI库的......
  • vue3中生命周期函数
    前言:Vue.js由于其丰富的API和灵活易用等特性,能够帮助我们快速构建单页应用程序,,是目前最受欢迎的javascript框架之一。再过去几年里,我们一直停留在Vue2.x的学习和实践,而当下Vue3.0是Vue.js的最新版本,很多大厂已经开始转型Vue3.0。所以,我们必须紧跟时代步伐,熟练掌握并深刻理解Vue......
  • vue3中使用qrcode生成二维码
    安装npminstall--saveqrcode.vueoryarnaddqrcode.vue组件中使用<scriptsetuplang="ts">import{useUiSetStore}from'@store/modules/uiSettings'//导入二维码组件importQrcodeVuefrom'qrcode.vue'constui=useUiSetStore()......
  • vue2,vue3的优缺点
    vue2:优点:vue2比较成熟,所以具有比较完善的第三方的插件和库的支持,和技术资源的支持和解决方案d的社区等缺点:对ts语法的支持有限vue2中difff算法遍历dom树的关系,优化程度较低vue3:优点:引入一些高级的api优化了diff算法,使得性能更好,包更小对ts的语法支持更好......
  • uni-app vue3 获取元素报错问题
    关于uniapp中vue3使用uni.createSelectorQuery()时的this指向及查询结果说明_前端_谁凉了时光旧了少年-华为云开发者联盟(csdn.net)......