1.Vue2.0
- beforeCreate:数据观测和初始化事件未开始
- created:完成数据观测,属性和方法的计算,初始化事件,$el属性不可用
- beforeMount:render函数被调用,实例完成编译模板,并把数据和模板生成HTML
- mounted:用编译好的HTML来替换el属性指向的DOM对象,完成模板中的HTML渲染到页面
- beforeUpdate:数据更新时调用,能访问当前DOM
- updated:组件DOM已经更新,可以执行依赖于DOM的操作;大多数情况下避免在此期间改变状态;不会保证所有子组件都会重绘,可以使用nextTick确保操作重绘后的DOM
- beforeDestory:在此状态仍然可以调用实例
- destroyed:实例被销毁,监听事件也被销毁
- activated:keep-alive缓存组件激活时调用,每次切换到该组件时不需要再调用created与mounted
- deactivated:keep-alive缓存组件停用时调用
2.Vue3.0
可通过在生命周期钩子前面加上 “on” 来访问组件的生命周期钩子,生命周期函数在Vue2.0基础上作出如下改变:
- beforeCreate:由setup()代替,取消
- created:由setup()代替,取消
- beforeUnmount:取代beforeDestroy
- unmounted:取代destroyed
- renderTracked:跟踪目标对象,在第一次渲染组件时记录跟踪对象的键值以及操作类型
- renderTriggered:触发目标对象,在操作触发重新渲染时获取操作后对象的键值以及操作类型