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

实例化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的各个生命周期间做了啥

上一篇:华为eNSP基础入门-配置SSH远程登录


下一篇:Hadoop读书笔记(七)MapReduce 0.x版本API使用demo