0
点赞
收藏
分享

微信扫一扫

vue 子组件和父组件加载顺序

南柯Taylor 2021-09-19 阅读 79

原文:https://blog.csdn.net/qq_34507902/article/details/102712076
今天遇到了一个奇怪的bug,就是当进行父子组件传值的时候,在父组件打印变量当时候是有数据的,但是在子组件打印的时候却显示数据为空。但是如果修改了子组件的源码,在进行热编译之后,子组件反而可以获取到数据。这才让我意识到vue的子父组件加载是存在差异的。

执行顺序如下:

  • 父组件 created
  • 子组件 created
  • 子组件 mounted
  • 父组件 mounted

如果有多个子组件:

  • 父组件created钩子结束后,依次执行子组件的created钩子
  • 多个子组件的created执行顺序为父组件内子组件DOM顺序
  • 多个子组件的mounted顺序无法保证,跟子组件本身复杂程度有关
  • 父组件一定在所有子组件结束mounted钩子之后,才会进入mounted钩子

问题解决方案:
1.用watch监视props属性,将newdata赋值进data中
2.在一个工程里,子组件总最好不要写过多逻辑和对传入数据的处理

举报

相关推荐

0 条评论