当前位置: 首页 > news >正文

『VUE』34. 异步组件(详细图文注释)

目录

    • 加载速度的优化
    • 示例代码
    • 总结


欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中

加载速度的优化

实际项目中你可能会有几十个组件,如果一开始就加载了全部组件(哪怕其中有些组件你暂时用不到)这无疑大大增加了响应时间,用户体验很差.
我们这里就直接加载了componentA和B,但是实际上如果不点击切换组件,我们暂时用不到B.

在这里插入图片描述

与前面的同步相对的就是异步,你加载当前需要用的个别组件,分步骤而不是同一步骤加载所有组件.


示例代码

注意异步引用的方式import { defineAsyncComponent } from "vue";然后const ComponentB = defineAsyncComponent(() => import("./components/ComponentB.vue") );

<script>
import { defineAsyncComponent } from "vue";
import ComponentA from "./components/ComponentA.vue";
//import ComponentB from "./components/ComponentB.vue";
const ComponentB = defineAsyncComponent(() =>import("./components/ComponentB.vue")
);
</script>

App.vue

<template><KeepAlive><component :is="choseComponent"></component></KeepAlive><button @click="changeComponent">切换组件</button>
</template><script>
import { defineAsyncComponent } from "vue";
import ComponentA from "./components/ComponentA.vue";
//import ComponentB from "./components/ComponentB.vue";
const ComponentB = defineAsyncComponent(() =>import("./components/ComponentB.vue")
);export default {data() {return {choseComponent: "ComponentA",};},components: {ComponentA,ComponentB,},methods: {changeComponent() {console.log(this.choseComponent);this.choseComponent =this.choseComponent == "ComponentA" ? "ComponentB" : "ComponentA";},},
};
</script>

网页刚刚加载时只有A的加载没有B
在这里插入图片描述
只有在组件切换到B时才加载了B
在这里插入图片描述


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2024 mzh

Crated:2024-3-1

欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中
『未完待续』


http://www.lryc.cn/news/491200.html

相关文章:

  • 深入解析自校正控制(STC)算法及python实现
  • 《macOS 开发环境配置与应用开发》
  • WebSocket 常见问题及解决方案
  • 如何在 .gitignore 中仅保留特定文件:以忽略文件夹中的所有文件为例
  • 详解八大排序(一)------(插入排序,选择排序,冒泡排序,希尔排序)
  • Linux虚拟机空间扩容(新增磁盘并分区挂载)
  • 数据结构 ——— 直接选择排序算法的实现
  • MySQL中的ROW_NUMBER窗口函数简单了解下
  • day24|leetCode 93.复原IP地址 , 78.子集 , 90.子集II
  • RocketMQ: Broker 使用指南
  • 【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
  • 5、AI测试辅助-生成测试用例思维导图
  • nature communications论文 解读
  • 基于Java Springboot公园管理系统
  • 神经网络(系统性学习三):多层感知机(MLP)
  • 07-SpringCloud-Gateway新一代网关
  • HTML 表单实战:从创建到验证
  • 【redis 】string类型详解
  • Vue.js 学习总结(13)—— Vue3 version 计数介绍
  • 【数据结构】【线性表】一文讲完队列(附C语言源码)
  • 2024年11月最新 Alfred 5 Powerpack (MACOS)下载
  • ODBC连接PostgreSQL数据库后,网卡DOWN后,客户端进程阻塞问题解决方法
  • VsCode使用git提交很慢(一直显示在提交)_vscode commit很慢解决方法
  • linux从0到1——shell编程9
  • 计算机网络技术专业,热门就业方向和就业前景
  • C++中定义类型名的方法
  • 从零开始学习 sg200x 多核开发之 camera-sensor 添加与测试
  • 前端三剑客(二):CSS
  • 国土变更调查拓扑错误自动化修复工具的研究
  • 深度学习图像视觉 RKNN Toolkit2 部署 RK3588S边缘端 过程全记录