beforeCreate(创建前)
Vue实例刚创建,data和methods未被初始化,为undefined
无法通过vm访问data中的数据和methods中的方法
可移执行loading等待事件
created(创建后)
数据侦听、计算属性、方法、事件/侦听器的回调函数已经配置完毕
完成data和methods的初始化,页面还未渲染
可以通过vm访问data和methods,$el还没有
可以在该阶段发起请求获取数据,操作data,调用methods等
beforeMount(挂载前)
DOM挂载完成,vue实例的$el和data都初始化了,但还是虚拟DOM节点,双向绑定显示{{ }}
此时页面呈现的是未经Vue编译的DOM结构,所有对DOM的操作,都不奏效
beforeMount之后,mounted之前 create vm $el and replace "el"将内存中的虚拟DOM转为真实DOM插入页面
mounted(挂载后)
实例被挂载后调用,el被新创建的vm.$el替换
页面呈现的是经过Vue编译的DOM,至此初始化过程结束
一般在此进行:开启定时器、发送网络请求、订阅消息、绑定自定义事件等
beforeUpdate(更新前)
数据发生改变,但DOM还未更新,即data已经是新的了,但是页面还是旧的。
适合在现有DOM将要被更新前访问它,比如移除手动添加的事件监听器。
update(更新后)
此时数据是新的,页面也是新的,即页面和数据保持同步
此阶段可以在数据更新时,做一些处理,也可以用watch进行观测
activated(激活前)
被keep-alive缓存的组件激活时调用
deactivated(激活后)
被keep-alive缓存的组件失活时调用
beforeDestory(销毁前)
实例仍处于可用状态,马上要实行销毁
一般在此阶段:关闭定时器、取消订阅消息、解绑自定义事件等
destoryed(销毁后)
vue实例解除了事件监听和DOM的绑定(无响应了),但DOM节点依旧存在