异步引入组件

简介: 异步引入组件

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

相关文章
|
6天前
|
JavaScript
Vue引入异步组件
Vue引入异步组件
|
6天前
|
JavaScript 前端开发
在Vue中,如何使用异步组件?
在Vue中,如何使用异步组件?
25 1
|
6月前
|
存储 JavaScript Java
Vuex使用方式及异步问题处理
Vuex使用方式及异步问题处理
57 0
|
6天前
|
JavaScript
如何使用Vue异步组件技术实现路由懒加载?
如何使用Vue异步组件技术实现路由懒加载?
15 1
|
5天前
|
JavaScript Go
VUE3+vite项目中动态引入组件和异步组件
VUE3+vite项目中动态引入组件和异步组件
|
6天前
|
缓存 JavaScript 前端开发
Vue状态管理:请解释Vue中的异步组件加载是如何工作的?
Vue的异步组件通过`Vue.component()`实现,它接受组件配置、名称和回调函数。回调可返回Promise或IIFE以按需加载组件定义,提高性能。
10 0
|
6天前
|
JavaScript
请提供一个具体的示例代码,展示如何使用Vue异步组件技术实现路由懒加载。
请提供一个具体的示例代码,展示如何使用Vue异步组件技术实现路由懒加载。
15 0
|
6天前
|
JavaScript
Vue中如何处理异步组件的加载错误?
Vue中如何处理异步组件的加载错误?
36 1
|
6天前
|
缓存 JavaScript 前端开发
【Vue原理解析】之异步与优化
Vue使用异步更新机制来提高渲染性能。当数据发生变化时,Vue并不立即重新渲染整个组件树,而是将更新操作推入一个队列中,并在下一个事件循环中执行。这样可以将多个数据变化合并为一个更新操作,减少不必要的重复渲染。
64 0
|
7月前
|
前端开发
Vue3之异步组件实现原理
Vue3之异步组件实现原理
107 0