Vue 的⽗组件和⼦组件⽣命周期钩⼦执⾏顺序是什么?
2021-04-28 本文已影响0人
_皓月__
渲染过程:
⽗组件挂载完成⼀定是等⼦组件都挂载完成后,才算是⽗组件挂载完,所以⽗组件的mounted在⼦组 件mouted之后。
⽗beforeCreate -> ⽗created -> ⽗beforeMount -> ⼦beforeCreate -> ⼦created -> ⼦beforeMount -> ⼦mounted -> ⽗mounted
⼦组件更新过程:
- 影响到⽗组件: ⽗beforeUpdate -> ⼦beforeUpdate->⼦updated -> ⽗updted
- 不影响⽗组件: ⼦beforeUpdate -> ⼦updated
⽗组件更新过程:
- 影响到⼦组件: ⽗beforeUpdate -> ⼦beforeUpdate->⼦updated -> ⽗updted
- 不影响⼦组件: ⽗beforeUpdate -> ⽗updated
销毁过程:
⽗beforeDestroy -> ⼦beforeDestroy -> ⼦destroyed -> ⽗destroyed
父级组件中如果在子级组件上加个v-if判断,父组件更新数据使条件达成展示组件,条件达成时:
父 beforeUpdate ->子 beforeCreate ->子created ->子 beforeMount ->子 mounted ->父 updated
看起来很多好像很难记忆,其实只要理解了,不管是哪种情况,都⼀定是⽗组件等待⼦组件完成后,才 会执⾏⾃⼰对应完成的钩⼦,就可以很容易记住。