admin 管理员组

文章数量: 887021


2023年12月16日发(作者:用switch输入成绩等级)

vue的生命周期及8个钩子函数

Vue的生命周期指的是每个Vue实例从创建到销毁的过程,在这个过程中会触发不同的钩子函数,用于在特定的时间点定义我们想要做的事情。Vue提供了8个钩子函数,可以用于在不同阶段控制Vue实例。

第一个钩子函数是beforeCreate,它会在实例初始化之后,数据观测(data observer)和event/watcher事件配置之前被调用。之所以说它是在初始化之后,是因为它会被调用在实例初始化之前,但是在挂载之前。在这个钩子函数中,我们可以通过this拿到Vue实例,但是它的数据和属性还未初始化,所以你不能访问这些属性。

第二个钩子函数是created,它在实例被创建完成后调用,此时实例已完成以下的配置:数据观测(data observer),property和方法的运算,watch/event事件回调。此时,实例已完成以下的配置:数据观测(data observer),property和方法的运算,watch/event事件回调。此时,实例的$el属性还不可用,但是可以通过$data访问data中的数据。

第三个钩子函数是beforeMount,它在挂载开始之前被调用,此时的vm.$el属性已经可以使用了,但是挂载还没开始,$el属性表示的就是挂载的节点。

第四个钩子函数是mounted,它在挂载结束之后被调用,此时,Vue实例已经完全挂载,可以通过$el访问到dom节点,并且可以在这个钩子函数中操作dom节点。

第五个钩子函数是beforeUpdate,它在组件更新之前被调用,此时Vue实例已经更新,但是更新操作还没有开始,此时可以访问更新之前的数据。

第六个钩子函数是updated,它在组件的更新操作完成之后被调用,此时Vue实例已经被更新,并且可以通过$el访问到更新后的dom节点。

第七个钩子函数是beforeDestroy,它在实例销毁之前被调用,此时实例还可以通过$el访问到dom节点,但是实例的事件和watcher已经被销毁,实例的数据也已经被清空,所以在这个钩子函数中不能访问实例的数据和属性。

最后一个钩子函数是destroyed,它在实例销毁之后调用,此时实例已经被销毁,所有的事件监听器和watcher都已经被移除,所有的子实例也都被销毁,所以在这个钩子函数中不能访问实例的任何属性。

Vue的生命周期和钩子函数非常重要,它们可以帮助我们在不同阶段控制Vue实例,从而让我们可以在特定的时间点做一些特定的事情,比如渲染页面,更新数据,清理内存等。在Vue开发中,要牢

记这8个钩子函数,以便在开发中正确使用它们,更好地控制Vue实例。


本文标签: 实例 函数 钩子