vue生命周期钩子详细
vue生命周期钩子就是:: vue从创建到销毁过程中,会执行的一些回调函数 ==
钩子:就是一种回调函数
-
-
例如
- window.onload = function(){ dom加载完毕,外部资源加载完毕就执行 }
-
-
生命周期: vue实例从出生到扑街的过程-
出生:
- 创建vue实例
- 创建data数据
- 创建el挂载点
- 将data数据渲染到el挂载点
-
扑街
-
vue实例被销毁
-
这里销毁不是指vue实例变成了null,而是指解除data与el的关联
- 说人话:修改了data,页面不会被渲染
-
-
-
\
每一个周期中的钩子中的this都是指向Vue实例,所以生命周期不能是箭头函数,俗称四阶八钩
四阶: 初始化 挂载 更新 销毁
八阶是
1- beforeCreate(){vue实例创建了,但是el和data还没有创建 (准备创建data),初始化一些事件和侦听器配置项)}
2- created() {el挂载点创建了,但是data数据还没有渲染(准备渲染中)创建el挂载点,并且生成虚拟DOM}
3- beforeMount() {el挂载点创建了,但是data数据还没有渲染(准备渲染中) 底层:创建el挂载点,并且生成虚拟DOM}
4-mounted()d(){将虚拟dom渲染成真实DOM,这个钩子是最早可以获取页面DOM元素的钩子虚拟DOM和渲染的数据一并挂到真实DOM上}
5- beforeUpdate() {检测到data数据变化,但是还没有开始重新渲染}
6- updated() 完成重新渲染,会执行多次{}
7-beforeDestroy() {解除 事件绑定、侦听器、组件}
8-destroyed() {vue实例已经销毁}