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')
  );
相关推荐
xiaoyan201527 分钟前
Electron38-Winchat聊天系统|vite7+electron38+vue3电脑端聊天Exe
vue.js·electron·vite
reembarkation43 分钟前
vue-pdf 实现blob数据的预览
javascript·vue.js·pdf
给月亮点灯|1 小时前
Vue3基础知识-setup()、ref()和reactive()
前端·javascript·vue.js
芜青1 小时前
【Vue2手录12】单文件组件SFC
前端·javascript·vue.js
Martin-Luo1 小时前
Vue3 通过json配置生成查询表单
javascript·vue.js·json
给月亮点灯|3 小时前
Vue3基础知识-Hook实现逻辑复用、代码解耦
前端·javascript·vue.js
Simon_He3 小时前
一款适用于 Vue 的高性能流式 Markdown 渲染器,源自我们的 AI 聊天机器人
前端·vue.js·markdown
顽强d石头3 小时前
v-model与.aync的区别
前端·javascript·vue.js
xvmingjiang4 小时前
Vue 3 中监听多个数据变化的几种方法
前端·javascript·vue.js
m0_616188495 小时前
el-table的隔行变色不影响row-class-name的背景色
前端·javascript·vue.js