Vue的几个生命周期函数
生命周期是指一个组件从创建->运行->销毁的整个阶段,强调的是时间段。生命周期函数是由Vue框架提供的内置函数,会伴随着组件的生命周期,自动按次序执行。注意:生命周期强调的是时间段,生命周期函数强调的是时间点。下面有个图帮助我们理解生命周期的各个阶段。
什么是生命周期和生命周期函数
生命周期是指一个组件从创建->运行->销毁的整个阶段,强调的是时间段。
生命周期函数是由Vue框架提供的内置函数,会伴随着组件的生命周期,自动按次序执行。
注意:生命周期强调的是时间段,生命周期函数强调的是时间点。
创建期间的生命周期函数
1、beforeCreate:
实例在被完全初始化之前调用该函数,此时,还没有初始化好 data 和 methods 属性
2、created:
此时Vue的数据和方法(data,methods)都已经初始化好了;
如果要操作data和methods,最早需要在这个函数中操作;
created完成后就开始编译html模板,把模板字符串渲染为DOM,最终在内存中生成一个已经编译完成的最终模板;
最终模板仅仅存在于内存中,并没有被渲染到页面中;
3、beforeMount:
此时已经完成了模板的编译,但是还没有挂载到页面中;
4、mounted:
此时,已经将编译好的模板,挂载到了页面指定的容器中显示;
如要操作dom节点,最早需要在这个函数中进行;
执行完mounted后,表示实例已经创建完成,若无其他操作,内存不会再有活动;
运行期间的生命周期函数
5、beforeUpdate:
此时页面已经完全挂载,此函数表示在页面数据发生改变时执行;
数据改变时,页面的数据并没有更新,但data中的数据已经更新完毕;
6、updated:
此时 data 中的状态值和界面上显示的数据,都已经完成了更新,界面已经被重新渲染好了;
销毁期间的生命周期函数
7、beforeDestroy:
实例销毁之前调用,在这一步,实例仍然完全可用。
8、destroyed:
Vue 实例指示的所有东西都会解除绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
组件已经全部销毁,所有的data、methods都无法使用。
在生命周期钩子函数中,最常用的应该就是created和mounted了。
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。主要应用:调用数据,调用方法,调用异步函数。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。由于此时html已经渲染出来了,所以可以直接操作dom节点。
更多推荐
所有评论(0)