异步引入组件

简介: 异步引入组件

defineAsyncComponent 函数:用于异步引入组件。

Suspense 标签:异步组件加载时,显示的默认内容。

应用场景:当子组件的数据量较大,导致父组件延迟显示时使用。

语法格式

异步引入组件:

import { defineAsyncComponent } from 'vue';
const Child = defineAsyncComponent(() => {
  return import('../components/Child');
});

设置默认内容:

<Suspense>
  <!-- 如果组件加载成功,就显示 default 中的内容 -->
  <template v-slot:default>
    <Child></Child>
  </template>
  <!-- 如果组件正在加载中,就显示 fallback 中的内容 -->
  <template v-slot:fallback>
    <h3>加载中,请稍等...</h3>
  </template>
</Suspense>

异步引入组件:

一、子组件:创建 Child 子组件。

<template>
  <div style="background-color: red;padding: 10px;">
    <h3>我是 Child 子组件</h3>
  </div>
</template>

二、父组件:通过 defineAsyncComponent 异步引入组件。

<template>
  <h3>我是父组件</h3>
  <!-- 使用异步组件 -->
  <Child></Child>
</template>
 
<script setup>
// 引入 defineAsyncComponent 函数
import { defineAsyncComponent } from 'vue';
// 动态引入【异步引入】
const Child = defineAsyncComponent(() => {
  return import('../components/Child');
});
</script>

三、最终效果。

:在控制台的 Network 中,将网络调成 Slow 3G 网络。刷新页面后,就会发现子组件不会影响父组件的显示啦。

相关文章
|
7月前
|
JavaScript
Vue引入异步组件
Vue引入异步组件
|
存储 JavaScript Java
Vuex使用方式及异步问题处理
Vuex使用方式及异步问题处理
99 0
|
7月前
|
JavaScript
如何使用Vue异步组件技术实现路由懒加载?
如何使用Vue异步组件技术实现路由懒加载?
43 1
|
3月前
|
JavaScript
Vue组件传值异步问题--子组件拿到数据较慢
Vue组件传值异步问题--子组件拿到数据较慢
254 58
|
5月前
|
JavaScript 前端开发 UED
Vue之异步组件【按需加载,动态引入,乃Vue异步组件之精髓也】
Vue之异步组件【按需加载,动态引入,乃Vue异步组件之精髓也】
36 1
|
5月前
|
前端开发 JavaScript 算法
react【框架原理详解】JSX 的本质、SyntheticEvent 合成事件机制、组件渲染过程、组件更新过程
react【框架原理详解】JSX 的本质、SyntheticEvent 合成事件机制、组件渲染过程、组件更新过程
74 0
|
7月前
|
JavaScript 前端开发 API
DOM组件如何实现异步更新?
【5月更文挑战第29天】DOM组件如何实现异步更新?
55 2
|
7月前
|
JavaScript Go
VUE3+vite项目中动态引入组件和异步组件
VUE3+vite项目中动态引入组件和异步组件
876 1
|
7月前
|
JavaScript
Vue中如何处理异步组件的加载错误?
Vue中如何处理异步组件的加载错误?
95 1
|
7月前
|
JavaScript
请提供一个具体的示例代码,展示如何使用Vue异步组件技术实现路由懒加载。
请提供一个具体的示例代码,展示如何使用Vue异步组件技术实现路由懒加载。
30 0

热门文章

最新文章