异步组件

异步组件:只在组件需要渲染(组件第一次显示)的时候进行加载渲染并缓存,缓存是以备下次访问。
Vue实现按需加载 在打包的时候,会打包成单独的js文件存储在static/js文件夹里面**
在调用时使用ajax请求回来插入到html中。

调用异步组件的方法

异步组件中,如果父组件调用子组件,需要给一个延时。可以用setTimeOut来处理。
同步组件中:如果父组件调用子组件,不需要延时,可以直接去调用。
通过this.$refs.XXX.方法名
在使用该方法时,子组件身上一定不要使用v-if;否者会出现undefined

父组件调用子组件并且传值可以使用这个方法

使用props父组件向子组件传递一个值
然后使用延时 settimeout(()=>{
this.$refs.XXX.方法名();//这样就可以了
},400)

异步组件结合v-if提升首页渲染速度

<template>
<div>
<div @click="showHander">显示组件</div>
<testcom v-if="show"></testcom>
</div>
</template> <script>
export default {
data(){
return{
show:false,
}
},
methods:{
showHander(){
this.show=!this.show;
},
},
components:{
testcom:()=>import(/* webpackChunkName:"lhtest" */'../components/test-com')
}
}
</script>

发生的现象

因为我们使用了v-if结合异步组件加载
在页面第一次渲染的时候
并不会直接去加载testcom这个组件
而是页面需要渲染的时候
才会去加载这个组件
/* webpackChunkName:"lhtest" */ 这个是webpack的魔法注释 如果我们不是使用的v-if,而是使用的v-show;
那么会出现的现象是:lhtest.js这个文件会在你进入引入这个页面的时候就去加载这个文件

vue同步组件和异步组件的区别的更多相关文章

  1. Vue动态加载异步组件

    背景: 目前我们项目都是按组件划分的,然后各个组件之间封装成产品.目前都是采用iframe直接嵌套页面.项目中我们还是会碰到一些通用的组件跟业务之间有通信,这种情况下iframe并不是最好的选择,if ...

  2. vue2组件之异步组件...resolve

    看开源项目的时候看到这样的用法: 发现与之前定义组件的方式不一样,这个resolve又是什么? 原来这个是vue的异步组件实现,可以看这里:<异步组件> 异步组件的需求: 在大型应用中,我 ...

  3. 同步请求和异步请求的区别,ajax异步请求如何理解

    同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的 ...

  4. 同步IO和异步IO的区别

    首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO.非阻塞IO.IO服用 ...

  5. Vue 动态组件和异步组件

    基础案例 动态组件切换类比"bilibili-个人中心"的横向菜单切换不同的标签页的功能. 在Vue中可以使用 component 标签,并加一个特殊的属性(attribute) ...

  6. vue 组件高级用法(递归组件,内联模板,动态组件,异步组件)

  7. ajax同步请求与异步请求的区别

    ajax 区别: async:布尔值,用来说明请求是否为异步模式.async是很重要的,因为它是用来控制JavaScript如何执行该请求. 当设置为true时,将以异步模式发送该请求,JavaScr ...

  8. node.js学习二---------------------同步API和异步API的区别

    /** * node.js大部分api都有同步的方法,同步方法名后面都会带有Sync,js编译的时候,同步代码会立即执行,异步代码会先存到异步池中,等同步代码执行完后它才会执行异步:不会阻塞线程,没有 ...

  9. 同步请求和异步请求的区别(理解ajax用)

    同步请求:发送方发送数据包后,等待接收方发回响应之后,才能发送下一个数据包的通信方式. 异步请求:发送方发送数据包后,不用等待接收方发回响应,就可以发送下一个数据包的通信方式. 同步通信:要求通信双方 ...

  10. 揭开Vue异步组件的神秘面纱

    简介 在大型应用里,有些组件可能一开始并不显示,只有在特定条件下才会渲染,那么这种情况下该组件的资源其实不需要一开始就加载,完全可以在需要的时候再去请求,这也可以减少页面首次加载的资源体积,要在Vue ...

随机推荐

  1. 在springboot中,如何读取配置文件中的属性

    摘要:在比较大型的项目的开发中,比较经常修改的属性我们一般都是不会在代码里面写死的,而是将其定义在配置文件中,之后如果修改的话,我们可以直接去配置文件中修改,那么在springboot的项目中,我们应 ...

  2. head/reset/revert/rebase代码回滚全解:git提交记录的背后原理

    多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,操作有: 回退(reset):reset是彻底回退到指定的commit版本,该commit后 ...

  3. 再谈BOM和DOM(2):DOM节点层次/属性/选择器/节点关系/操作详解

    DOM模型将整个文档(XML文档和HTML文档)看成一个树形结构,并用document对象表示该文档. 根据W3C DOM规范,DOM是HTML与XML的应用编程接口(API),DOM将整个页面映射为 ...

  4. 我的程序跑了60多小时,就是为了让你看一眼JDK的BUG导致的内存泄漏。

    这次的文章从JDK的J.U.C包下的ConcurrentLinkedQueue队列的一个BUG讲起.jetty框架里面的线程池用到了这个队列,导致了内存泄漏. 同时通过jconsole.VisualV ...

  5. Java Bean 注册对象

    注册对象 POM.xml <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-al ...

  6. 注册中心 —— SpringCloud Netflix Eureka

    Eureka 简介 Eureka 是一个基于 REST 的服务发现组件,SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 SpringCloud 的服务 ...

  7. CPU--实模式与保护模式

    一.实模式(实地址访问模式) 是Intel公司80286及以后的x86(80386,80486和80586等)兼容处理器(CPU)的一种操作模式. 实模式被特殊定义为20位地址内存可访问空间上,这就意 ...

  8. LaTex常用数学符号整理

    在论文和博客的写作中,经常会用到Latex的语法来书写数学公式,一份详细的数学符号对照表必不可少,本文重写了部分 Markdown 公式指导手册 . 在线Latex公式编辑器 -1.求和积分的上下标位 ...

  9. Java | Spring Boot统一日志框架

    在项目开发中,日志十分的重要,不管是记录运行情况还是定位线上问题,都离不开对日志的分析.在 Java 领域里存在着多种日志框架,如 JCL.SLF4J.Jboss-logging.jUL.log4j. ...

  10. 阿里云 X 森马 AIGC T恤设计大赛开启! 穿什么由你定,赢Airpods,作品定制联名T恤

    "关于宇宙,我所知道的最富诗意的事实之一就是, 我们身体中的每一个原子都曾经存在于某一颗爆发的恒星里. 组成你左手的原子和组成你右手的原子 很有可能来自不同的恒星, 而我们都是恒星的孩子, ...