vue父子组件及mixin生命周期执行顺序

vue生命周期
image

总共分为8个阶段创建前/后,载入前/后,更新前/后,销毁前/后。

  • 创建前/后: 在beforeCreated阶段,vue实例的挂载元素$el和数据对象Data都为undefined,还未初始化。created阶段,vue实例的数据对象data有了,el还没有

  • 载入前/后:在beforeMount阶段,vue实例的$el和data都初始化了,但还是挂载之前为虚拟的dom节点,data.message还未替换。在mounted阶段,vue实例挂载完成,data.message成功渲染。

  • 更新前/后:当data变化时,会触发beforeUpdate和updated方法。

  • 销毁前/后:在执行destroy方法后,对data的改变不会再触发周期函数,说明此时vue实例已经解除了事件监听以及和dom的绑定,但是dom结构依然存在。

activated: keep-alive组件激活时调用

deactivated: keep-alive组件销毁时调用

errorCaptured: 当捕获一个来自子孙组件的错误时被调用


包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染。

父子组件生命周期执行顺序

创建与挂载

父beforeCreate > 父created > 父beforeMount > 子beforeCreate > 子created > 子beforeMount > 子mounted > 父mounted

更新

父beforeUpdate > 子beforeUpdate > 子updated > 父updated

销毁

父beforeDestroy > 子beforeDestroy > 子destroyed > 父destroyed

父子组件及mixin的生命周期执行顺序

mixin的生命周期钩子在组件的生命周期钩子之前执行

在父组件中引入了mixin,生命周期顺序如下:

mixin的beforeCreate > 父beforeCreate > mixin的created > 父created > mixin的befo

作者:一条小鲁班
链接:https://www.jianshu.com/p/f0b7950b3ab0
来源:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(vue父子组件及mixin生命周期执行顺序)