vue 生命周期图例
每个钩子的职责
生命周期执行顺序
通过一个例子来看:
1 |
|
一、初始化页面
执行顺序如下:
beforecreate
- 在实例创建之后调用此函数,可以在这里加个loading事件。
created
- 在数据初始化之后被调用,在这里loading结束,进行一些数据请求操作。
beforeMount
- 在组件渲染之前被调用,也就是说在数据渲染之前,样式渲染可以在这里写。在这里应用了“虚拟DOM”技术。还是上面的例子,在
beforeMount
中。已经渲染出了DOM的“外壳”了,后续只要对这个“外壳”进行数据填充就好了,能在一定程度上对性能进行优化。
1 | beforeMount 挂载前状态===============》 |
mounted
- 整个实例被创建完成后被调用,比如:实例创建完成,数据初始化,渲染页面数据后才被调用。这个时候可以在
mounted
这个生命周期里面写DOM操作。
二、更新数据
在chrome 的控制台下执行以下命令:
1 | app.message = "你好 世界" |
执行顺序如下:
三、销毁组件
在控制台执行如下指令对组件进行销毁:
1 | app.$destroy() |
执行效果如下:
beforeDestroy
- 实例销毁之前被调用,这个方法适用于 把new Vue({})赋值给一个变量时,如: var vm = new Vue({}),然后用vm.$destroy() 方法销毁这个实例。
destroyed
- 实例销毁之后被调用,一般情况下,在页面切换路由时,会自动销毁组件