Vue组件生命周期钩子函数有哪些?它们分别在什么时候触发?

简介: Vue组件生命周期钩子函数有哪些?它们分别在什么时候触发?

Vue.js组件生命周期包括创建、挂载、更新和销毁阶段。在这些阶段中,Vue提供了一系列的生命周期钩子函数,开发者可以在这些钩子函数中执行自定义的逻辑。以下是Vue组件生命周期钩子函数及其触发时机:

创建阶段(Creation)

  1. beforeCreate

    • 触发时机:在实例刚被创建时,数据观测和事件/生命周期事件的配置之前被调用。
    • 用途:在这个阶段,实例的数据观测和初始化还未开始。
  2. created

    • 触发时机:在实例已经创建完成之后调用,此时实例已经完成数据观测、属性和方法的运算,但尚未挂载到DOM上。
    • 用途:在这个阶段,可以进行异步操作,如发起网络请求等。

挂载阶段(Mounting)

  1. beforeMount

    • 触发时机:在挂载开始之前被调用,即在 render 函数被调用之前。
    • 用途:在这个阶段,可以进行一些修改模板的操作。
  2. mounted

    • 触发时机:在实例挂载之后调用。
    • 用途:在这个阶段,可以访问DOM元素,并且可以进行DOM操作。

更新阶段(Updating)

  1. beforeUpdate

    • 触发时机:在数据更新之前被调用,发生在虚拟DOM重新渲染和打补丁之前。
    • 用途:在这个阶段,可以进行一些更新前的操作。
  2. updated

    • 触发时机:在数据更改导致的虚拟DOM重新渲染和打补丁之后调用。
    • 用途:在这个阶段,可以进行一些DOM操作。

销毁阶段(Destroying)

  1. beforeDestroy

    • 触发时机:在实例销毁之前调用。在这一步,实例仍然完全可用。
    • 用途:在这个阶段,可以进行一些清理工作,如清除定时器、取消订阅等。
  2. destroyed

    • 触发时机:在实例销毁之后调用。在这一步,Vue实例的所有指令和事件监听器都被解绑,所有子实例被销毁。
    • 用途:在这个阶段,进行最终的清理工作,释放资源。

错误捕获阶段(Error Capturing)

  1. errorCaptured
    • 触发时机:当子组件抛出错误时,会向上冒泡触发父组件的 errorCaptured 钩子。仅在 2.4.0+ 版本可用。
    • 用途:用于处理子组件抛出的错误,阻止错误继续向上传播。

这些生命周期钩子函数提供了在组件生命周期不同阶段执行自定义逻辑的机会,开发者可以根据业务需求在合适的时机进行操作。

相关文章
|
5天前
|
JavaScript 前端开发
【vue】iview如何把input输入框和点击输入框之后的边框去掉
【vue】iview如何把input输入框和点击输入框之后的边框去掉
12 0
|
6天前
|
资源调度 JavaScript 前端开发
Vue的路由管理:VueRouter的配置和使用
【4月更文挑战第24天】VueRouter是Vue.js的官方路由管理器,用于在单页面应用中管理URL路径与组件的映射。通过安装并引入VueRouter,设置路由规则和创建router实例,可以实现不同路径下显示不同组件。主要组件包括:`<router-link>`用于创建导航链接,`<router-view>`负责渲染当前路由对应的组件。此外,VueRouter还支持编程式导航和各种高级特性,如嵌套路由、路由参数和守卫,以应对复杂路由场景。
|
4天前
|
监控 JavaScript
Vue中的数据变化监控与响应——深入理解Watchers
Vue中的数据变化监控与响应——深入理解Watchers
|
4天前
|
JavaScript 安全 前端开发
Vue 项目中的权限管理:让页面也学会说“你无权访问!
Vue 项目中的权限管理:让页面也学会说“你无权访问!
13 3
|
4天前
|
JavaScript 前端开发 开发者
Vue的神奇解锁:冒险的开始
Vue的神奇解锁:冒险的开始
5 1
|
5天前
|
JavaScript
【vue实战】父子组件互相传值
【vue实战】父子组件互相传值
11 1
|
5天前
|
JavaScript
vue2_引入Ant design vue
vue2_引入Ant design vue
9 0
|
5天前
|
JavaScript
vue知识点
vue知识点
13 4
|
6天前
|
存储 JavaScript 前端开发
【Vue】绝了!这生命周期流程真...
【Vue】绝了!这生命周期流程真...
|
6天前
|
JavaScript 索引
【vue】框架搭建
【vue】框架搭建
8 1