摘抄的笔记
之前关于生命周期做过一次笔记,很多地方对于生命周期都是一句话带过,看官网图即可。
但是有的时候,自己还是不能理解,生命周期到底有什么用,那些钩子函数都是处于什么用途。
今天重新看了一遍关于生命周期函数的解释,如今再看,也对生命周期有了更深的理解,特此记录一下生命周期。
官网的生命周期图
官网的生命周期图
生命周期解释
生命周期函数就是VUE实例在某一个时间点会自动执行的函数。
beforeCreate: 当我们创建一个Vue实例,Vue实例进行基础的初始化时,自动执行此钩子;
created: Vue继续处理外部的一些注入,比如双向绑定等内容,基本上Vue实例的初始化操作全部完成,然后自动执行此钩子;
beforeMount: 有了模板和数据,在页面渲染之前,(模板和数据相结合,即将挂载到页面的瞬间)自动执行此钩子;
mounted: 页面挂载之后执行此钩子(已经被渲染)
## 这两个不会主动执行
beforeUpdate: 当数据发生改变,还未重新渲染之前,执行此钩子;
updated: 重新渲染之后,执行此钩子(DOM操作已更新);
## 这两个也不会主动执行
beforeDestroy:当组件的destroy被调用时,组件即将被销毁时,执行此钩子(此时实例仍完全可用);
destroyed:当组件被完全销毁,执行此钩子(解除绑定,事件监听器也会被移除,子实例也会被销毁)。
贴一张网站找来的中文版生命周期图
中文版生命周期图
一些小问题
- 这些生命周期函数是直接定义在Vue实例中,并没有放在methods里。
- 除去图上的8个,实际上还有3个钩子函数
activated
、deactivated
、errorCaptured
。
activated: keep-alive 组件激活时调用
deactivated: keep-alive 组件停用时调用
errorCaptured: 第三个是Vue 2.5新增的,以上是官网的解释,等我学到这里的时候,会改成自己的相应理解。