Vue3: Suspense异步加载组件

在我们日常开发中,有些组件里面加载非常慢,导致我们路由跳转的时候回出现卡顿情况。

这个时候我们可以使用异步组件。

Suspense

IconParkSelect 组件因为要读取文件,会有点慢,所以只用异步的方式加载。

复制代码
 <Suspense>
        <IconParkSelect
          v-model="currentSelectIcon"
          :visible="iconVisible"
          @close="closeIconFormModalVisible"
          @cancel="closeIconFormModalVisible"
          @ok="insertIconToItem"
        />
        <!-- 在 #fallback 插槽中显示 "正在加载中" -->
        <template #fallback> Loading...</template>
      </Suspense>

Suspense 有两个插槽,当异步组件没有加载完成时候会先选择 fallback 插槽数据。

然后使用异步的方式引入组件。

复制代码
  import { defineAsyncComponen } from 'vue';

  // 异步获取图标库
  const IconParkSelect = defineAsyncComponent(
    () => import('@/components/common/IconParkSelect.vue')
  );
相关推荐
锋行天下16 小时前
我试图优化 Vite 的拆包,结果首屏慢了 10 倍
前端·vue.js·架构
ZhengEnCi1 天前
Q02-Vue-React-index.html完全指南
vue.js·react.js·html
晴虹1 天前
vue3-scroll-more:横向滚动条-元素或页签过多滚动显示处理的组件
前端·vue.js
Forever7_1 天前
尤雨溪转发:Vue-tui 0.1 发布!Vue 终于杀进终端!
vue.js
dkbnull1 天前
Vue 虚拟 DOM Diff 算法与 key 机制原理
vue.js
前端切图崽_小郭2 天前
虚拟滚动:静态 vs 动态的核心差异与实现?
vue.js
白鲸开源2 天前
Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
java·vue.js·github
卤蛋fg62 天前
vue 甘特图 vxe-gantt 的使用(四):周视图的渲染
vue.js
卤蛋fg62 天前
vue 甘特图 vxe-gantt 的使用(三):月视图的渲染
vue.js
卤蛋fg62 天前
vue 甘特图 vxe-gantt 的使用(一):年视图的渲染
vue.js