[Vue] Vue2和Vue3的生命周期函数

vue2有11个生命周期钩子, vue3有8个生命周期钩子

从vue创建、运行、到销毁总是伴随着各种事件, 创建、挂载、更新到销毁。

1.vue2系列生命周期

⑴【beforecreate】实例创建前。

vue完全创建之前,会自动执行这个函数。

⑵【Created】实例创建后。

这也是个生命周期函数,beforecreate执行完后会自动执行它。其中data的值是由在created中请求并初始化的。

⑶【beforemount】组件挂载前。

模板即将挂载到页面的一瞬间会执行beforemount

⑷【Mounted】组件挂载后

挂载完成,也就是模板中的html渲染到了html页面中,此时一般可以做一些ajax操作。

mounted只会执行一次。

⑸【beforeupdate】视图更新前

数据发生改变,还没有渲染之前beforeupdate会执行

⑹【updated】视图更新后

当数据更新完重新渲染时,updated这个函数会执行。

⑺【beforedestroy】失礼销毁前

钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。

⑻【Destroy】实例销毁后

做收尾工作,在结束之后做一些事情,比如定时器和全局更新要在这里销毁。

⑼①【activeted】被keep-alive缓存的组件激活时调用

⑽②【deactiveted】 没有被激活时调用

⑾③【errorCaotured】捕捉子组件的错误时调用⑴

2.Vue3系列生命周期

1、beforeCreate -> 使用 setup()

2、created -> 使用 setup()

3、beforeMount -> onBeforeMount

4、mounted -> onMounted

5、beforeUpdate -> onBeforeUpdate

6、updated -> onUpdated

7、beforeDestroy -> onBeforeUnmount

8、destroyed -> onUnmounted

9、errorCaptured -> onErrorCaptured

⑴【beforecreate】------->【setup】 开始创建组件前,创建的是data和method

Create------- >【setup】

setup 这个函数是在beforeCreate和created之前运行的,所以你可以用它来代替这两个钩子函数。

⑵【beforemount】------- >【onBeforeMount】组件挂载前

在挂载开始之前被调用,相关的render函数首次被调用。

⑶【Mounted】------- >【onMount】组件挂载后

el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。

⑷【beforeupdate】------- >【onBeforeUpdate】视图更新前

数据发生改变,还没有渲染之前beforeupdate会执行

数据发生改变时调用,你可以在这个钩子中进一步地更改状态,还不会触发附加的重渲染效果。

⑸【updated】------- >【onUpdate】视图更新后

由于数据更改导致的虚拟dom重新渲染和打补丁,在这之后后调用该钩子

当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。

该钩子在服务器端渲染期间不被调用

⑹【beforedestroy】------- >【onBeforeUnmount】卸载组件实例之前

视图销毁前调用,在这一步,实例仍然完全可用

⑺【Destroyed】------- >【onUnmount】卸载组件实例之后

相关推荐
程序员黑豆4 小时前
鸿蒙应用开发:V1与V2版本数据持久化实战教程
前端·harmonyos
小月土星8 小时前
React Router 前端路由深度解析:从传统后端路由到现代 SPA 的完整演进
前端
程序员黑豆8 小时前
鸿蒙开发 Navigation 路由教程:从入门到实战
前端·harmonyos
烬羽10 小时前
React Router v7 完全指南:一个 Demo 吃透前端路由
javascript·react.js·前端框架
烬羽10 小时前
从"整个页面刷新"到"丝滑切换":手写一个 HashRouter 彻底搞懂前端路由
javascript·前端框架·全栈
用户9385156350710 小时前
从零理解 React Router v6:每一个 API 都是怎么工作的
前端·javascript·全栈
用户0595401744612 小时前
Redis缓存回滚踩坑实录:一个配置失误,让我在凌晨3点丢了3000条数据
前端·css
kyriewen13 小时前
别再这样写条件渲染了——你的React组件里藏着这5种定时炸弹
前端·javascript·react.js
IT_陈寒13 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端
用户9385156350714 小时前
从"坐电梯"到"前端路由"——深入理解 Hash 路由原理
前端·typescript·全栈