每一个vue实例从创建到销毁的过程,就是这个vue实例的生命周期。在这个过程中,它经历了从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。

通过这张流程图已经可以清晰的看到Vue整个生命周期的过程

beforeCreate( 创建前 )

这个时候,在实例被完成创建出来,el和data都没有初始化,不能访问data、method,一般在这个阶段不进行操作。

created( 创建后 )

这个时候,vue实例中的data、method已被初始化,属性也被绑定,但此时还是虚拟dom,真实dom还没生成,$el 还不可用。这个时候可以调用data和method的数据及方法,createf钩子函数是最早可以调用data和method的,一般在此对数据进行初始化。

beforeMount( 挂载前)

此时模板已经编辑完成,但还没有被渲染至页面中(虚拟dom加载为真实dom),此时el存在则会显示el。在这里可以在渲染前进行最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取。
当vue实例中,el为挂载目标,未对el进行定义,则this.el显示undefined,但页面中存在template也能识别挂载目标,因为template可以被看成占位符。如果对其进行定义则显示<div id="app"></div>,所以,beforeMount读取不了真实的el,在mounted才能读取到真实的el,因为el只有渲染完成后才会存在。这里讲的el是真实的el。在真实的el存在前,在beforeMount中的其实是页面中的#app,是挂载的目标。

beforeUpdate(更新前)

重新渲染之前触发,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom利用diff算法进行对比之后重新渲染。只有view上面的数据变化才会触发beforeUpdate和updated,仅属于data中的数据改变不能触发。

updated(更新后)

数据已经更改完成,dom也重新render完成。

beforeDestroy(实例销毁前)

在这个函数内,还是可以操作实例的,但 之后会做一系列的销毁动作,解除各种数据引用,移除事件监听,删除组件_watcher,删除子实例,删除自身self等。同时将实例属性_isDestroyed置为true。

destroyed(实例销毁)

最后执行,实例被彻底销毁,Vue生命周期结束。

【Vue】 Vue生命周期详解相关推荐

  1. 【vue系列-05】vue的生命周期(详解)

    深入理解vue的生命周期 一,vue的生命周期 1,创建流程 1.1,beforeCreate 1.2,created 2,挂载流程 2.1,beforeMount 2.2,mounted 3,更新流 ...

  2. Vue的生命周期详解

    Vue的生命周期 Vue的生命周期就是vue实例从创建到销毁的全过程,也就是 new Vue() 开始就是vue生命周期的开始.Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板. ...

  3. Vue的生命周期详解,一文带你弄懂Vue的生命周期

    大家好,我是Ned

  4. vue 声明周期函数_Vue 生命周期详解

    Vue 生命周期详解 Vue 生命周期流程 最开始,用户使用 new Vue() 创建根 Vue 实例,或者 Vue 实例化子组件都会调用_init方法(我们将这两种实例都称为vm): functio ...

  5. Fragment生命周期详解

    关于Fragment的生命周期,博主写过Activity与Fragment生命周期详解,基本上把Fragment的生命周期详细介绍过,但是那仅仅是创建一个Fragmnet时的生命周期,而事实上Frag ...

  6. Android面试之Activity生命周期详解

    Activity生命周期详解 一 Activity的四种状态: Activity的生命周期中存在四种基本的状态:活动状态(Active/Runing),暂停状态(Paused),停止状态(Stoppe ...

  7. Fragment的懒加载与生命周期详解

    提示:本文仅为笔者学习记录 Fragment的懒加载与生命周期详解 什么是懒加载 了解Fragment的生命周期 onAttach onCreate onCreateView onActivityCr ...

  8. 01.软件项目管理与敏捷方法——敏捷项目生命周期详解笔记

    01.软件项目管理与敏捷方法--敏捷项目生命周期详解笔记 00.与其说是船还不如说是熟练的航行技术保证了成功的航行.--George William Curtis 01.敏捷项目是一个按照敏捷宣言宗旨 ...

  9. taro生命周期详解

    taro生命周期详解 taro介绍 生命周期 react的钩子函数 为兼容小程序的钩子函数 个别生命周期详解以及注意 1.render()函数 2.constructor()构造函数 3.在各个生命周 ...

  10. Eclipse中Maven常用命令以及Maven生命周期详解

    Eclipse中maven常用的命令 在某一个maven项目右键快捷方式,然后点击Run As就可以发现几个Maven的命令: Maven Build: 这个命令用于编译Maven工程,执行命令后会在 ...

最新文章

  1. 弃 Windows 而拥抱 Linux 之后,这本书教了新玩法
  2. 有关;;;的基础小节
  3. BAT笔试试题常见试题总结含答案(持续更新。。。)
  4. Angular Effects.ofType的工作原理
  5. Postgresql的HashJoin状态机流程图整理
  6. java restful中文乱码_restful服务接口访问乱码 和 505错误
  7. 2020年餐饮B2B服务产业创新报告
  8. 批量网站DNS区域传送漏洞检测——bash shell实现
  9. c语言2L,求助,R8C 2L 如何在C语言定位常数数组到绝对地址
  10. 苹果ipa软件包破解笔记
  11. 二:前端css,即选择器
  12. Django:ORM基本操作-CRUD,管理器对象objects,----->聚合查询、原生数据库操作
  13. atx和matx机箱_【技嘉Z87评测】强迫症的执拗 同价位ATX与MATX到底咋选(全文)_技嘉 G1.Sniper M5_主板评测-中关村在线...
  14. 你该知道的Pyecharts简易上手教程
  15. 大数据必学Java基础(一):Java体系结构、特性和优势
  16. matlab 改变数据,MATLAb怎么实现对表格数据的修改
  17. 生物信息学生物影像_大规模生物学的五点原因
  18. [渝粤教育] 西南科技大学 农产品贮藏与加工 在线考试复习资料
  19. 计算机玩游戏 突然黑屏 又亮了,显示器黑一下又亮了怎么回事?解决显示器黑屏一会又亮一会又黑...
  20. 指针,引用及内存基础认识

热门文章

  1. 秦羽接引的鸿蒙第四人,星辰变:仙界最强的五人,秦羽第二,敖无虚垫底,小黑难进前三...
  2. Ubuntu 文件同步工具 rsync
  3. 反思,续篇《水火不容的测试生活》
  4. 【深度学习】【Python】【Widerface数据集】 转VOC格式,VOC 转YOLOv5格式,YOLOv5训练WiderFace数据集,检查yolo labels对不对
  5. GSM/GPRS模块学习
  6. OpenBmc开发8:devtool简介与使用
  7. QCustomPlot绘图并设置游标,双游标
  8. 2011年3月《震痛•震恫•震动》
  9. 字典排序什么意思_字典序排序
  10. layui表单离焦验证