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

『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.kler.cn/a/408881.html

相关文章:

  • python中lxml 库之 etree 使用详解
  • LLaMA-Mesh: Unifying 3D Mesh Generation with Language Models 论文解读
  • Java---反射机制
  • MATLAB的addpath和rmpath函数增加或删除路径
  • 【Ubuntu24.04】服务部署(Docker)
  • Odoo :免费且开源的农牧行业ERP管理系统
  • 虚幻引擎---初识篇
  • 使用ENSP实现默认路由
  • DataGear 5.2.0 发布,数据可视化分析平台
  • 【纸飞机串口调试工具】预设曲线名称
  • 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例
  • 数据结构2:顺序表
  • svn 崩溃、 cleanup失败 怎么办
  • 数据结构进阶(C++) -- AVL树的实现
  • ssm实战项目──哈米音乐(二)
  • QML学习 —— 28、3种等待指示控件(附源码)
  • Qt如何获取安卓系统Files的Documents路径 -- 3种方法
  • 深入探索JMeter的执行器时间线:从CLArgsParser到JmeterEngine
  • Spring Boot OA:企业办公自动化的新趋势
  • 如何使用 MgoSoft PDF To Image 将 PDF 转换成 JPG 图片
  • 太通透了,Android 流程分析 蓝牙enable流程(应用层/Framework/Service层)
  • 贪心算法(2)
  • 【Linux】————多线程(概念及控制)
  • 转置卷积与全卷积网络FCN在语义分割中的应用
  • OAI-5G开源通信平台实践(五)
  • 【Ubuntu 22.04】VMware 17 安装Ubuntu 22.04+配置VSCode+Python开发环境