生命周期钩子2

简介: 生命周期钩子2

在Vue中,生命周期钩子是指在Vue实例创建到销毁的过程中,Vue自动调用的函数。这些钩子函数为开发者提供了在Vue实例的不同阶段执行自定义逻辑的机会。以下是一些主要的生命周期钩子及其用途的示例:

  1. beforeCreate(创建前)
  • 在数据观测和初始化事件/监听器之前被调用。
  • 在这个阶段,组件实例尚未创建,不能访问到data、methods、computed等属性或方法。
beforeCreate() {  
  console.log('beforeCreate:', this.$data, this.$el); // 输出:undefined, undefined  
}
  1. created(创建后)
  • 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算,以及 watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
created() {  
  console.log('created:', this.$data, this.$el); // 输出:有数据对象, undefined  
  // 在这里可以访问数据、计算属性、方法以及$watch等属性  
}

beforeMount(挂载前)

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

beforeMount() {  
  console.log('beforeMount:', this.$el); // 输出:未编译的模板  
}

mounted(挂载后)

 

beforeUpdate() {  
  console.log('beforeUpdate:', this.$el.textContent); // 输出:更新前的DOM内容  
}

updated(更新后)

beforeDestroy(销毁前)

  • el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果根实例挂载了一个 in-document 元素,当 mounted 被调用时 vm.$el 也在文档内。
mounted() {  
  console.log('mounted:', this.$el); // 输出:编译后的模板  
  // 访问DOM元素,初始化第三方库,或者执行需要DOM才能完成的任务  
}
  • beforeUpdate(更新前)
  • 数据更新时调用,发生在虚拟DOM打补丁之前。
  • 由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。
updated() {  
  console.log('updated:', this.$el.textContent); // 输出:更新后的DOM内容  
  // 在这个钩子中,组件的DOM已经更新,所以你现在可以执行依赖于DOM的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。  
}
  • 实例销毁之前调用。在这一步,实例仍然完全可用。
beforeDestroy() {  
  console.log('beforeDestroy:', this.$el); // 输出:组件的DOM元素  
  // 在这一步,你可以清理计时器、移除全局状态、销毁插件对象、解绑全局事件、销毁子组件等。  
}
  • destroyed(销毁后)
  • Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑,所有的事件监听器都会被移除,所有的子实例也会被销毁。
destroyed() {  
  console.log('destroyed:', this.$el); // 输出:undefined  
  // 在这里可以执行一些清理工作,如取消网络请求、销毁定时器、清除全局变量等。  
}
相关文章
|
6月前
|
自然语言处理 JavaScript 开发者
生命周期钩子1
生命周期钩子1
|
6月前
第40节: Vue3 注册生命周期钩子
第40节: Vue3 注册生命周期钩子
67 1
|
6月前
|
JavaScript 开发者
Vue组件生命周期钩子函数有哪些?它们分别在什么时候触发?
Vue组件生命周期钩子函数有哪些?它们分别在什么时候触发?
118 0
|
前端开发 JavaScript
react类组件的 钩子--生命周期
react类组件的 钩子--生命周期
80 0
|
2月前
|
JavaScript API
vue使用hook:声明周期来监听子组件的声明周期
本文介绍了如何在Vue中使用生命周期钩子来监听子组件的生命周期事件,包括在子组件内部监听和在父组件中监听子组件的生命周期钩子。
47 0
|
5天前
|
应用服务中间件
生命周期
Servlet接口中一共是5个方法,其中有三个是生命周期方法。 Ø void init(ServletConfig):这个方法会在Servlet被创建后,马上被调用。只会被调用一次!我们可以把一些初始化工作放到这个方法中,如果没有什么初始化工作要做,那么这个方法就空着就可以了。 ² Servlet有两个时间点会被创建:一是在第一次被请求时,会被创建;二是Tomcat启动时被创建,默认是第一种,如果希望在tomcat启动时创建,这需要在web.xml中配置。 Ø void destroy():这个方法会在Servlet被销毁之前被调用。如果你有一些需要释放的资源,可以在这个方法中完成,如果
|
1月前
|
开发者
vue3生命周期钩子变化
【10月更文挑战第4天】
|
4月前
|
缓存 JavaScript API
vue3 生命周期(生命周期钩子 vs 生命周期选项 vs 缓存实例的生命周期)
vue3 生命周期(生命周期钩子 vs 生命周期选项 vs 缓存实例的生命周期)
100 0
|
6月前
|
JavaScript
【vue】生命周期钩子函数的执行过程和父子组件钩子函数的执行顺序
【vue】生命周期钩子函数的执行过程和父子组件钩子函数的执行顺序
37 1
|
6月前
|
JavaScript 前端开发
生命周期钩子函数
生命周期钩子函数
43 1