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')
  );
相关推荐
XTTX1109 小时前
Vue3+Cesium教程(36)--动态设置降雨效果
前端·javascript·vue.js
前端小超超12 小时前
ionic + vue3 + capacitor遇到backButton问题
前端·javascript·vue.js
起名时在学Aiifox13 小时前
从零实现前端数据格式化工具:以船员经验数据展示为例
前端·vue.js·typescript·es6
放牛的小伙14 小时前
vue 表格 vxe-table 加载数据的几种方式,更新数据的用法
vue.js
pas13614 小时前
25-mini-vue fragment & Text
前端·javascript·vue.js
满天星辰14 小时前
Vue 响应式原理深度解析
前端·vue.js
满天星辰15 小时前
Vue真的是单向数据流?
前端·vue.js
boooooooom15 小时前
深入浅出 Vue3 defineModel:极简实现组件双向绑定
vue.js
pas13615 小时前
29-mini-vue element搭建更新
前端·javascript·vue.js
裴嘉靖16 小时前
Vue + Element UI 实现复选框删除线
javascript·vue.js·ui