首页 > 其他 > 详细

父子组件生命周期、watch、computed的执行顺序

时间:2021-09-13 11:10:34      阅读:23      评论:0      收藏:0      [点我收藏+]

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

  • beforeCreate不能访问到methods、data、computed、watch上的方法和数据
  • created 可以调用methods中定义的方法,修改data的数据,并且可触发响应式变化、computed值重新计算,watch到变更等

加载渲染过程

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

更新过程

父beforeUpdate->子beforeUpdate->子updated->父updated

销毁过程

父beforeDestroy->子beforeDestroy->子destroyed->父destroyed

keep-alive的生命周期

  • activated: 页面第一次进入的时候,钩子触发的顺序是created->mounted->activated
  • deactivated: 页面退出的时候会触发deactivated,当再次前进或者后退的时候只触发activated

computed、watch

在created之前就会 就会进行初始化 computed 和 watch

技术分享图片 初始化vue的过程

看以下执行顺序图可以得出:

  1. 初始化时父元素 向 子元素传递数据分两个阶段,一为父元素父beforeMount及之前的一个阶段,包括data中定义的赋值;另一个阶段为,父元素mounted及其之后的阶段;在一个阶段中后面的赋值会替换前面的赋值;(如:父created 覆盖父data中定义的),所以watch 和 computed 会触发两次;
  2. watch有immediate属性: 首次绑定的时候,是否执行handler,为true时,在子元素的created之前执行;默认false 为false时 只有在父元素mounted之后值改变才会触发,否则是不会触发的;
  3. computed 执行值computed被引用处(数据变更时 watch 在 computed 之前执行),然后继续执行computed代码;computed 最早在created之后执行
技术分享图片
技术分享图片 执行顺序

路由守卫

技术分享图片 路由守卫的钩子函数

父子组件生命周期、watch、computed的执行顺序

原文:https://www.cnblogs.com/voxov/p/15231725.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!