首页 > 其他 > 详细

vue的各个生命周期间做了啥

时间:2021-08-11 23:37:57      阅读:31      评论:0      收藏:0      [点我收藏+]

实例化vm

在实例化vm时进行了一些属性的初始化,再这之后才调用beforeCreate钩子

初始化$parent $children $attrs $slots

setup

这时候能读取到props emit等数据,但是无法读取到data

beforeCreate

也就是所在beforeCreate时无法读取data inject数据

但是能读取到props emit

vuex也是在这里挂载的

初始化了inject methods data computed watch provide

vue2里似乎是这时候初始化props,我用的vue3

created

从这时开始才能读取data

调用$mount挂载组件进DOM,编译模板为render函数

beforeMount

这时候不能读取到vm.$refs.xxx此时DOM没有创建

调用生成的render函数生成VNode,然后通过createElm创建节点进DOM节点

mounted

这时候就能读取到vm.$refs.xxx

mounted后就挂载结束,等待更新了。

beforeUpdate

beforeUpdate在异步中,此时的this.xx数据是更新后的,但是DOM没有更新,此时this.$refs.xxx仍然是更新前的。

进行patch diff 然后调用updated

updated

这时的data refs数据才都是更新后的。

更新结束,等待下一次更新。

beforeDestroy(beforeUnmount)

这时能读取到vm.refs.xxx vm.$data

清除父子关系,删除watcher等

destoyed(unmount)

这时也能读取到vm.$data读取不到vm.$refs

删除完成

activated

都能读取到

deactivated

都能读取到

vue的各个生命周期间做了啥

原文:https://www.cnblogs.com/shaddollxz/p/15130521.html

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