生命周期有四对,八个 四对:
- 创建前(beforeCreate), 创建后(created)
- 挂载前(beforeMount), 挂载后(mounted)
- 更新前(beforeUpdate), 更新后(updated)
- 销毁前(beforeDestroy), 销毁后(destroyed)
a. 创建前
beforeCreate( ) {
//创建前,几乎不用
// 拿不到任何东西,data里面所定义的变量,以及Dom节点都无法拿到
//因为这些数据都没有完成初始化
}
b.创建后
created( ) {
//是一个常用的生命周期
//初始化页面数据,可以在这个生命周期内发送ajax请求
//可以拿到data里面所定义的值, 可以对所拿到的值进行操作
//拿不到DOM元素
}
c.挂载前
beforeMount( ) {
//这是一个不常用的生命周期
//可以获取到data所定义的东西
//获取不到DOM元素
}
d.挂载后
mounted( ){
//可以获取到data所定义的东西,以及DOM元素
//如果需要用到操作DOM元素的时候,会用到这个生命周期,如 Echarts初始化,highChart/d3/antV/ht
}
e.更新前
beforeUpdate( ){
//只有在绑定到页面节点上的数据发生变化后,这个生命周期才会被触发
}
f.更新后
updatad( ){
//也是需要在绑定到页面节点上的数据发生变化后,这个生命周期才会被触发
}
注释:更新的整个生命周期几乎都不怎么用
g. 销毁前
beforeDestroy( ){
//使用:echarts 对象释放
//清除定时器
}
h.销毁后
destroyed ( ){
}
注释:不论是销毁前还是销毁后。 vNode已经从DOM树上移除了
beforeDestroy 虽然vNode从DOM树上移除,但VNode并没有从虚拟DOM上移除,所以通过$refs还是可以拿到元素
destroyed 已经是全部移除