从源码上来看,Vue对象的每个生命周期钩子前都干了什么?
一、从官方文档查看的Vue的生命周期钩子

上面的图片是从Vue的官网里面找到的,如果单从这张图去查看生命周期干了什么,我们只能知道:
- 在beforeMount前会对给出的模板进行编译(仅仅是在用Vue.js打包的时候会进行编译,在用脚手架的时候,在打包过程中会把模板编译成为渲染函数,这样可以避免每次创建一个Vue对象的时候进行编译模板)
- 在mounted后,Vue实例对象才是完整的对象,这个转改能够维持到beforeDestroy。
但是我们不知道的东西会有很多,我这里就举出几个问题:
- 父子节点的生命周期执行顺序是怎么样的?
- 每个生命周期能够访问到的数据是否相同?
- 我们知道修改了data后能够触发更新生命周期的钩子,那么到底是怎样进行触发的?
- 我们知道Vue的话是通过VNode来更新管理真实的DOM的,那么在上面的生命周期什么时候进行渲染的?
为什么我们要知道上面的情况?因为我们可能会遇到一些问题,需要知道Vue里面的实现
- 一般情况下,我们在组件初始化完毕的时候,也就是在mounted回调函数里面调用我们初始化的执行代码(很大情况下

本文从Vue的生命周期图表出发,深入源码探讨在每个生命周期钩子执行前,Vue做了哪些工作。包括选项的合并、实例初始化、数据观测、VNode创建、渲染与更新过程,以及组件销毁时的清理工作。通过对源码的分析,解答了父子组件生命周期执行顺序、何时能访问到数据等问题。
最低0.47元/天 解锁文章
155

被折叠的 条评论
为什么被折叠?



