Vue组件的生命周期:每个生命周期什么时候被调用?每个生命周期内部可以做什么事?

要掌握每个生命周期什么时候被调用

  1. beforeCreate 在实例初始化之后,数据观测(data observer) 之前被调用。
  2. created 实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算,
    watch/event 事件回调。这里没有$el
  3. beforeMount 在挂载开始之前被调用:相关的 render 函数首次被调用。
  4. mounted el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
  5. beforeUpdate 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
  6. updated 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
  7. beforeDestroy 实例销毁之前调用。在这一步,实例仍然完全可用。
  8. destroyed Vue 实例销毁后调用。调用后, Vue
    实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。 该钩子在服务器端渲染期间不被调用

要掌握每个生命周期内部可以做什么事

  1. created 实例已经创建完成,因为它是最早触发的原因可以进行一些数据,资源的请求。
  2. mounted 实例已经挂载完成,可以进行一些DOM操作
  3. beforeUpdate 可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。
  4. updated 可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。
    该钩子在服务器端渲染期间不被调用。
  5. destroyed 可以执行一些优化操作,清空定时器,解除绑定事件
发布了227 篇原创文章 · 获赞 41 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42554191/article/details/104830055