vue全家桶-vue生命周期
vue的生命周期其实很好理解,它就是一个vue实例从创建到销毁的一个过程。
我们先来看一下官网给的vue生命周期图谱
从图上可以很轻易看到vue的生命周期由8个钩子分成了8个阶段
beforeCreate:创建前
created:创建后
beforeMount:载入前
mounted: 载入后
beforeUpdate :更新前
update: 更新后
beforeDestroy : 销毁前
destroyed :销毁后
别人介绍都喜欢用demo,我感觉还是来说说吧,就不用demo了
1.beforeCreate
在这个阶段,你应该刚new了个vue的实例,这时实例中的el、data等都是undefined,也就是说全是空,因为还没挂载值
2.created
到了这个阶段,数据已经绑定到你的实例上了,这时你可以进行初始值的获取,但是不会触发到下面的钩子。而el依然为空,因为还没开始挂载对象
3.beforeMount
在这里,应该已经找到了el对象,如果没有找到,那么实例的生命周期到这就已经停止了。
如果找到了el对象,那么虚拟DOM在这也就创建完成了,并进入render等待渲染。在这,你可以和created阶段一样,获取初始值,也依然不会触发下面的钩子。
4.mounted
在这个阶段,虚拟DOM已经被转换为真实DOM渲染到了页面中,这时你就可以进行DOM操作了。
5.beforeUpdate
一旦你进行了数据更改,beforeUpdate就会立即执行,它会重新创建虚拟DOM,准备重新渲染。
6.updated
到了这,页面的重新渲染已经完成了,可以继续进行DOM操作。
7.beforeDestroy
在这一步的时候,实例依然存在并且有效。
8.destory
到了这,该实例的所有东西都会解除绑定,事件也都移除,再次成为一个空的实例。
vue的生命周期就这些,内容不多,但用起来依然要踩很多的坑。
像选择在什么时候获取初始值,什么时候更新数据,依然需要自己的判断。坑这东西,多踩踩自然就平了。