vue生命周期:
1. 创建阶段:beforeCreate();created()
2. 挂载阶段:beforeMount();mounted()
3. 更新阶段:beforeUpdate();updated()
4. 销毁阶段:beforeDestroy();destroyed()
这是vue生命周期阶段,但我们可知道当中的过程是怎样的,其实官网的生命周期图示以及解释的非常清楚了(下图),如果您能看懂官方的图示,那就没必要再继续往下阅读了。如果你还有疑惑,我会再后面按照官方生命周期图示,详细解释每个阶段的过程。
来源 vue官网生命周期图示
vue生命周期详解:
1. 创建阶段:
- 新建 vue 实例 new vue()
- 读取配置项,加载生命周期方法
- 调用 beforeCreate()
- 设置 data、methods、computed... 等配置项
- 调用created()
2. 挂载阶段:
- 判断是否拥有 template 配置项
- 有:传入 render 函数,编译template
- 没有:把 el 对应的 outerHTML 当成 template 传入 render 函数编译
- 调用 beforeMount()
- 使用编译后结果替换 el 作用的 dom
- 调用 mount()
3. 更新阶段:
只有数据发生变化,并且 dom 使用了该数据,dom 才会更新,此时才执行更新的生命周期方法,更新前和更新后不是数据更新的状态,而是 dom 更新前与更新后。
- 数据发生变化
- 调用 beforeUpdate()
- 重新渲染 dom
- 调用 updated()
4. 销毁阶段:
- 执行 vm.$destroy() 销毁实例
- 调用 beforeDestroy()
- 实例移除 data、methods、computed....
- 调用 destroyed()
至此整个vue的生命周期完成;
希望以上的内容能让你对vue生命周期有更深的理解