vue生命周期以及watch、computed、methods的执行顺序

watch、computed、methods的执行顺序

● 默认加载情况

  1. 如果watch不加immediate:true属性(页面初加载的时候,不会执行watch,只有值变化后才执行),则只执行computed(在created执行?);
  2. 如果watch添加immediate:true属性(在beforeCreate后created前执行),则先执行watch、再执行computed;

● 触发某一事件后
先执行method,再watch,再computed



生命周期执行顺序

● 页面初试化时:

beforeCreate -> created -> beforeMount -> mounted

● 页面发生修改时:

beforeUpdate -> updated

● 页面销毁时:

beforeDestory -> destroyed

 

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

● 页面初始化时:

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

● 页面发生修改时:

beforeUpdate -> updated

父子组件的更新互不影响,只更新自己

● 页面销毁时:

父beforeDestory -> 子beforeDestory -> 子destoryed -> 父destoryed

销毁时子组件要先于父组件销毁

 

this.$nextTick在各生命周期的执行顺序

每个周期使用$nextTick都可以获取到dom,但是还是建议在mounted中使用哈,因为beforeMount/mounted本来就是挂载dom。

 

posted @ 2023-11-22 20:17  泠风lj  阅读(575)  评论(0编辑  收藏  举报