一、首先来解释一下生命周期和钩子函数:
1.生命周期:从"vue实例创建"到"虚拟dom产生"再到"数据绑定监听数据渲染"以及"销毁"的整个过程。
2.钩子函数:子函数是在一个事件触发的时候,在系统级捕获到了他,然后做一些操作。
常用的钩子函数:React生命周期函数、vue生命周期函数、vue自定义指令等。
二、生命周期有四个阶段:每个阶段有两个钩子函数。
1.初始化构建阶段
beforeCreate:vue实例初始化完成之前,完成了vue事件、属性的初始化,但是访问不到vue实例中的data、methods。
created:vue实例初始化完成,可以访问实例内部的数据和方法
2.挂载阶段
beforeMount:完成了模板的解析,但是数据/dom节点没有绑定到模板上
mounted:vm.$el虚拟dom替换el Dom,完成了数据绑定、dom渲染。
3.更新阶段
beforeUpdate:数据已经修改,虚拟dom也构建完毕,但是没有渲染到页面上
updated:更新过后的虚拟dom节点,成功渲染到页面上
4.销毁阶段 this.$destroy()
beforeDestroy:vue实例销毁之前,还可以访问实例
destroyed:vue实例上绑定的事件、监听器、子组件销毁完毕,访问不到vue实例了