VUE生命周期

Youky ... 2021-8-30 前端
  • Vue
About 2 min

# VUE生命周期

# 初始化阶段

是一个vue实例从无到有的过程

  1. new Vue({})为开头,表示创建一个vue的实例对象。
  2. 然后初始化一个空的vue实例对象,此时这个对象身上只有默认的一些生命周期函数和默认的事件
  3. beforeCreate:此时data、methods中的数据都还未初始化。
  4. created:此时ata、methods中的数据已经完成初始化。要调用methods中的方法或操作data数据,最早要在created
  5. 开始编译模板,最终在内存中生成一个模板字符串。此时并没有将模板挂载到DOM
  6. 判断实例是否有el选项,若有则进入挂载;若没有则等待调用$mount方法
  7. beforeMount:此时模板已经编译好,但还没有挂载。此时页面还是旧的
  8. 用内存中的模板替换到真实页面中去
  9. mounted:此时模板替换已完成。要操作DOM,最早要在mounted

# 运行阶段

  1. beforeUpdate:此时data中的数据是新的,但页面还是旧的
  2. 根据最新的数据重新渲染DOM树并进行替换,完成数据从Model层到视图层的更新
  3. updated:页面和data已经同步,都是最新的状态

# 销毁阶段

  1. beforeDestroy:销毁之前执行,此时实例的data、methods等都还属于可用状态
  2. destroyed:组件已被完全摧毁,data、methods等都已不可用

# 父组件监听子组件的生命周期

  1. 在子组件的生命周期函数中触发自定义事件,并在父组件中进行监听
  2. 在父组件中用@hook:xxx的形式进行监听,xxx代表生命周期名称。执行顺序:子组件生命周期、父组件的响应函数
Last update: October 11, 2021 16:57
Contributors: youky7