Vue 生命周期钩子

25 阅读1分钟

下面生命周期按执行顺序排序,其中beforeUpdateupdated会执行多次

  • beforeCreate:el 和 data 并未初始化,因此无法访问methods, data, computed等上的方法和数据

  • created:完成了data 数据的初始化,el没有

  • beforeMounte:相关的render函数首次被调用(虚拟DOM)

  • mounted:模板中的HTML渲染到HTML页面中,此时一般可以做一些ajax操作,mounted只会执行一次

  • beforeUpdate:发生在虚拟DOM重新渲染和打补丁之前,可以在该钩子中进一步地更改状态,不会触发附加地重渲染过程

  • updated:避免在此期间更改状态,因为这可能会导致更新无限循环

  • beforeDestroy:这一步还可以用this来获取实例,一般在这一步做一些重置的操作,比如清除掉组件中的定时器 和 监听的dom事件

  • destroyed:所有的事件监听器会被移出,所有的子实例也会被销毁,该钩子在服务器端渲染期间不被调用