生命周期函数:一个vue组件从创建到销毁的整个过程,也叫生命周期钩子,这些函数是主动调用的,都是同步函数,按照一定的顺序进行执行
生命周期函数有4个过程 对应的8个钩子函数
创建过程 beforeCreate创建前 和 创建后created
渲染过程 beforeMount渲染前 和 渲染后mounted
更新过程 beforeUpdate更新前 和 更新后 updated
销毁过程 beforeDestroy销毁前 和 销毁后 destroyed
beforeCreate() {
此时vue已经在堆内存开辟了内存空间存储vue对象,通过this这个指针指向这个对
象可以通过this访问组件对象,但是对象还没完成创建,data实例并未挂载到对象
上面不能访问data里面的数据,也不能访问methods自定义函数
作用:可以对这个函数进行初始化,例如定义一些全局变量
},
created() {
此时,vue对象已经创建完成,vue数据源和函数都可以正常使用,但是没有渲染不能访问
DOM模板
作用:可以在此处发起ajax请求,更新data数据,也可以在此处定义一些全局变量
},
beforeMount() {
此时,vue模板已经创建出来了 可以使用模板的节点,生成了完整的DOM结构树,
但是节点值仍是那种未解析的数据源,也就是带有{{}}这种结构的
作用:可以发请求,可以找DOM
},
mounted() {
mounted这个函数所有的数据和视图都已经渲染完成
作用:可以实现DOM的任意操作
},
beforeUpdate() {
此时,vue中data数据已经发生变化,但是视图当中通过DOM获取节点值的时候,这
个节点值还未发生变化
作用:可以判断更新前后的数据值,来控制拦截组件更新
},
updated() {
此时 vue中data数据和界面DOM值数据已经保持同步
作用:可以通过DOM获取节点最新值
},
beforeDestroy() {
此时 vue对象还没有销毁,数据和DOM还存在,但是在此处已经不能更新数据了
作用:可以销毁定时器,把一些事件函数进行移除,还有全局变量也可以置位null
},
destroyed() {
组件对象已经销毁了,也可以在此处销毁定时器,把一些时间函数进行移除,还有全局
变量也可以置位null
},