异步引入组件

简介: 异步引入组件

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 网络。刷新页面后,就会发现子组件不会影响父组件的显示啦。

相关文章
|
2月前
|
JavaScript
Vue引入异步组件
Vue引入异步组件
|
2月前
|
JSON JavaScript 前端开发
Axios异步框架及案例
Axios异步框架及案例
57 0
|
8月前
|
存储 JavaScript Java
Vuex使用方式及异步问题处理
Vuex使用方式及异步问题处理
62 0
|
2月前
|
Perl
CocoaLumberjack增强异步日志组件BITCocoaLumberjack的使用
CocoaLumberjack增强异步日志组件BITCocoaLumberjack的使用
40 1
|
6天前
|
JavaScript 前端开发 UED
Vue之异步组件【按需加载,动态引入,乃Vue异步组件之精髓也】
Vue之异步组件【按需加载,动态引入,乃Vue异步组件之精髓也】
8 1
|
2月前
|
JavaScript 前端开发 API
DOM组件如何实现异步更新?
【5月更文挑战第29天】DOM组件如何实现异步更新?
26 2
|
2月前
|
JavaScript Go
VUE3+vite项目中动态引入组件和异步组件
VUE3+vite项目中动态引入组件和异步组件
|
2月前
|
JavaScript
Vue中如何处理异步组件的加载错误?
Vue中如何处理异步组件的加载错误?
48 1
|
2月前
|
JavaScript
请提供一个具体的示例代码,展示如何使用Vue异步组件技术实现路由懒加载。
请提供一个具体的示例代码,展示如何使用Vue异步组件技术实现路由懒加载。
17 0
|
11月前
|
消息中间件 JavaScript 前端开发
js异步处理方案,js的异步串行与异步并行
js异步处理方案,js的异步串行与异步并行
69 0