嵌套组件的生命周期
问:有A、B、C三个组件,A为B的父组件,B为C的父组件,它们的创建和挂载顺序是怎样的?即(beforeCreate/created,beforeMounte/mounted)的执行顺序。
话不多说,直接上代码:
嵌套组件的生命周期 复制代码
直接看打印结果:
beforeCreate: Rootcreated: RootbeforeMount: RootbeforeCreate: Acreated: AbeforeMount: AbeforeCreate: Bcreated: BbeforeMount: BbeforeCreate: Ccreated: CbeforeMount: Cmounted: Cmounted: Bmounted: Amounted: Root复制代码
通过打印结果我们可以看到,beforeCreate、created、beforeMounted是按顺序执行,由外到内;而mounted即最终的挂载阶段则是由内到外,先将子组件挂载到dom上,然后再是父组件。
为什么
其实想想就知道了,既然组件之间存在父子关系,即父嵌套子,那么子组件就相当于父组件的一部分,那肯定要先将其一部分先挂载到dom上,然后再将整个父组件挂载上去。
总结
父子组件嵌套的生命周期其实都是 先父后子 然后 先子后父。后续再加入update和destroy的相关代码。
github链接:,欢迎???star