news 2026/6/15 15:26:36

异步组件核心知识点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
异步组件核心知识点

文章目录

  • 一、核心概念区分
  • 二、2种组件的注册&使用对比
  • 三、异步组件2种核心回调(基础/高级)
  • 四、路由懒加载(异步组件的路由专属用法)
  • 五、异步组件的缓存规则
  • 六、异步组件底层核心(理解用,项目不用)

一、核心概念区分

  1. 普通组件:注册时直接传入组件对象,项目启动一次性加载所有代码,全局/局部注册后直接渲染,无延迟。
  2. 异步组件:注册时传入异步回调函数,项目启动仅注册组件名,首次用到时才触发回调加载组件代码,实现按需加载,减少首屏体积。

二、2种组件的注册&使用对比

js// 普通组件:直接引入+注册(一次性加载)importMyNormalfrom'./MyNormal.vue'// 全局注册普通组件Vue.component('MyNormal',MyNormal)// 局部注册普通组件exportdefault{components:{MyNormal}}js// 异步组件:定义回调+注册(按需加载)constMyAsync=()=>import('./MyAsync.vue')// 全局注册异步组件Vue.component('MyAsync',MyAsync)// 局部注册异步组件exportdefault{components:{MyAsync}}模板使用:二者完全一致,<MyNormal/><MyAsync/>

三、异步组件2种核心回调(基础/高级)

js// 基础版(项目最常用)constAsyncBasic=()=>import('./MyComponent.vue')// 高级版(带加载/错误兜底)constAsyncAdvance=()=>({component:import('./MyComponent.vue'),loading:()=>import('./Loading.vue'),error:()=>import('./Error.vue'),delay:200,timeout:3000})

四、路由懒加载(异步组件的路由专属用法)

jsconstrouter=newVueRouter({routes:[// 普通路由(一次性加载){path:'/normal',component:import('./MyNormal.vue')},// 路由懒加载(异步组件,按需加载){path:'/async',component:()=>import('./MyAsync.vue')}]})

五、异步组件的缓存规则

  1. 代码缓存:异步组件代码仅加载一次,首次触发回调后永久缓存,再次使用无需重新加载;
  2. 实例缓存:组件实例默认切走销毁,需用 包裹实现实例缓存(普通/异步组件均适用)。
vue<!--缓存组件实例(普通/异步都能用)--><keep-alive><MyAsync v-if="show"/><router-view/><!--路由组件缓存--></keep-alive>

六、异步组件底层核心(理解用,项目不用)

js// resolve由Vue自动传入,加载完成后传递组件配置给VueconstAsyncLow=(resolve)=>{require(['./MyComponent.vue'],resolve)}Vue.component('AsyncLow',AsyncLow)

核心总结

  1. 普通组件一次性加载,异步组件按需加载,核心区别在代码加载时机;
  2. 异步组件全局/局部注册均传异步回调,仅可用范围不同,触发/缓存逻辑一致;
  3. 路由懒加载=异步组件的路由版,底层逻辑完全相同,省略显式组件名注册;
  4. 异步组件默认缓存代码, 缓存实例,二者可配合使用。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 8:39:30

Apache虚拟主机与HTTPS配置教程

Apache服务器配置是网站运维的基础工作&#xff0c;理解其核心配置项能有效提升站点性能与安全性。合理的配置可以优化资源使用、防范常见攻击&#xff0c;并确保服务稳定运行。本文将针对几个关键配置点&#xff0c;结合具体实例进行说明。 Apache虚拟主机如何配置 虚拟主机…

作者头像 李华
网站建设 2026/6/14 0:49:23

canvas画饼图教程,手把手教你绘制与添加标签

掌握Canvas绘制饼图的核心方法&#xff0c;能有效解决数据可视化中的基础需求。通过直接操作Canvas API&#xff0c;开发者可以完全自定义饼图的样式、动画和交互&#xff0c;摆脱对现成图表库的依赖。这不仅提升了前端技能&#xff0c;也为处理独特的图表需求提供了灵活的技术…

作者头像 李华
网站建设 2026/6/14 20:55:41

每日算法练习Day04

B3612 【深进1.例1】求区间和 题目来源&#xff1a;https://www.luogu.com.cn/problem/B3612#ide 题目描述 给定 nnn 个正整数组成的数列 a1,a2,⋯ ,ana_1, a_2, \cdots, a_na1​,a2​,⋯,an​ 和 mmm 个区间 [li,ri][l_i,r_i][li​,ri​]&#xff0c;分别求这 mmm 个区间的区…

作者头像 李华
网站建设 2026/6/15 10:00:41

【自选股】【持仓股】

这是一个股票交易类App的自选股与持仓股界面&#xff0c;我为你做一个详细的拆解和解读&#xff1a; &#x1f539; 顶部区域自选股 这是你添加到“自选”列表的所有股票的整体表现&#xff0c;今日整体跌幅为 -2.14%。绿色数字代表下跌&#xff0c;说明你关注的这批股票今天整…

作者头像 李华
网站建设 2026/6/15 9:59:59

3.24 Helm Chart开发实战:自定义Chart模板与依赖管理最佳实践

3.24 Helm Chart开发实战:自定义Chart模板与依赖管理最佳实践 引言 开发高质量的Helm Chart需要掌握模板编写、依赖管理、测试等技能。本文将详细介绍Helm Chart开发的最佳实践,帮助你创建可复用、易维护的Chart。 一、Chart开发流程 1.1 创建Chart helm create mychart…

作者头像 李华