一.什么是Vue的生命周期
Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载 等⼀系列过程,称这是Vue的⽣命周期
二.生命周期和生命周期钩子的关系
生命周期钩子 = 生命周期函数 = 生命周期事件
三、主要的生命周期函数分类:
1.创建期间的生命周期函数:
1.beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好 data 和 methods 属性
2.created:实例已经在内存中创建OK,此时 data 和 methods 已经创建OK,此时还没有开始 编译模板
3.beforeMount:此时已经完成了模板的编译,但是还没有挂载到页面中
4.mounted:此时,已经将编译好的模板,挂载到了页面指定的容器中显示
2.运行期间的生命周期函数:
5.beforeUpdate:状态更新之前执行此函数, 此时 data 中的状态值是最新的,但是界面上显示的 数据还是旧的,因为此时还没有开始重新渲染DOM节点
6.updated:实例更新完毕之后调用此函数,此时 data 中的状态值 和 界面上显示的数据,都已经完成了更新,界面已经被重新渲染好了!
3.销毁期间的生命周期函数:
7.beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
8.destroyed:Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
实例:
打印结果如下:
四.Vue.js中的挂载
1.定义:虚拟DOM与真实DOM建立关系,让Vue实例控制页面中某个区域的过程,称之为挂载。
2.方式:通过“ el:‘css选择器’ ”语句进行配置。
3.过程: 虚拟DOM,即一堆对象存储了一堆数据,然后这些数据用JS的API,比如createElement,创造出DOM,这个过程是挂载前的动作。
创造出的DOM还没有被使用,仅仅在内存中,需要“挂载”。 当最外层有一个叫app的id的DOM,挂载就是document.querySelector(“app”).appendChild(dom),即完成挂载。
【虚拟DOM】
1.虚拟DOM是为了解决浏览器性能问题而被设计出来的。
2.虚拟DOM,用普通JS对象来描述DOM结构,因为不是真实DOM,所以称之为虚拟DOM。