⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Vue 异步组件

使用 defineAsyncComponent 按需加载组件,减少首屏体积,优化应用性能。 · 难度:入门 · +15XP

异步组件的作用

异步组件允许你将组件的定义推迟到需要渲染时才加载,通过代码分割(Code Splitting)减少初始包体积。Vue 3 使用 defineAsyncComponent 定义。

基本用法

import { defineAsyncComponent } from 'vue'

const AsyncComp = defineAsyncComponent(() => import('./MyComponent.vue') )

组件使用方式与普通组件完全一致。

高级配置

const AsyncComp = defineAsyncComponent({
  loader: () => import('./HeavyComponent.vue'),
  loadingComponent: LoadingSpinner,
  errorComponent: ErrorDisplay,
  delay: 200,      // 延迟显示 loading 组件
  timeout: 3000    // 超时时间
})
选项类型说明
loaderFunction返回 Promise 的加载函数
loadingComponentComponent加载中显示的组件
errorComponentComponent加载失败显示的组件
delaynumber延迟显示 loading(毫秒)
timeoutnumber超时时间(毫秒)

配合 Suspense

异步组件常与 <Suspense> 一起使用,提供更流畅的加载体验。

练习提示

1. 创建一个异步组件,模拟 3 秒加载延迟。
2. 添加一个 loading 组件,在加载过程中显示“正在加载...”。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 125 篇
0 完成
🔥 0