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')
  );
相关推荐
秃头小傻蛋18 分钟前
Vue 项目中条件加载组件导致 CSS 样式丢失问题解决方案
前端·vue.js
复苏季风26 分钟前
vite里把markdown文件渲染成vue组件
vue.js·markdown
streaker30328 分钟前
Vue3 + TSX 封装 el-table:还原 Antd 风格的 Columns 配置
vue.js·element
柯南95272 小时前
Vue 3 响应式系统源码解析
vue.js
文艺理科生2 小时前
Nuxt.js入门指南-Vue生态下的高效渲染技术
前端·vue.js·nuxt.js
夏小花花2 小时前
vue3 ref和reactive的区别和使用场景
前端·javascript·vue.js·typescript
前端小巷子3 小时前
Vue 自定义指令
前端·vue.js·面试
Stringzhua4 小时前
Vue中的数据渲染【4】
css·vue.js·css3
草梅友仁14 小时前
草梅 Auth 1.4.0 发布与 ESLint v9 更新 | 2025 年第 33 周草梅周报
vue.js·github·nuxt.js
萌萌哒草头将军16 小时前
Oxc 最新 Transformer Alpha 功能速览! 🚀🚀🚀
前端·javascript·vue.js