vue生命周期:
- 创建阶段:beforeCreate();created()
- 挂载阶段:beforeMount();mounted()
- 更新阶段:beforeUpdate();updated()
- 销毁阶段:beforeDestroy();destroyed()
这是vue生命周期阶段,但我们可知道当中的过程是怎样的,其实官网的生命周期图示以及解释的非常清楚了(下图),如果您能看懂官方的图示,那就没必要再继续往下阅读了。如果你还有疑惑,我会再后面按照官方生命周期图示,详细解释每个阶段的过程。
vue生命周期图
来源 vue官网生命周期图示:
vue生命周期详解:
- 创建阶段:
新建 vue 实例 new vue()
读取配置项,加载生命周期方法
调用 beforeCreate()
此时data和methods还没有初始化,不可调用,此时还不可以使用this函数
调用created():
此时data和methods已经初始化完成,可以调用 - 挂载阶段:
调用 beforeMount():使用el挂在实例,并判断是否是模板,此时只是挂在虚拟dom树上面
调用 mount():挂载后可以已经渲染了真实dom树,可以进行dom操作
3. 更新阶段:
只有数据发生变化,并且 dom 使用了该数据,dom 才会更新,此时才执行更新的生命周期方法,更新前和更新后不是数据更新的状态,而是 dom 更新前与更新后。
数据发生变化
调用 beforeUpdate()
重新渲染 dom
调用 updated()
4. 销毁阶段:
执行 vm.$destroy() 销毁实例
调用 beforeDestroy()
实例移除 data、methods、computed…
调用 destroyed()
至此整个vue的生命周期完成;
这是我自己看过,感觉钩子函数讲的比较好的,希望对大家有用!