vue实例的生命周期有四个阶段
create 组件创建的时候,准备工作,数据的初始化
mount 组件挂载到dom
update 组件数据发生变化
destory 组件销毁,清理工作(关闭定时器,集合清空)
生命周期方法
- beforeCreate(): 还没实例, data/methods/computed/watch的数据和方法不能访问
- created(): 实例创建完触发,完成数据观测,修改数据不会触发updated函数。但dom还没生成,访问不了$el
- beforeMount(): dom挂载之前, 完成模板编译,生成虚拟dom,即将开始渲染。修改数据不会触发updated函数。
- mounted(): dom挂在之后,可进行异步请求和dom节点访问,在vue用$el操作
- beforeUpdate(): 组件数据更新之前,在此阶段修改数据不触发重新渲染
- updated(): 组件数据更新之后, 避免在此修改状态,因为可能导致循环的更新
- beforedestory(): 组件销毁前, 实例还可以使用,可进行清除定时器等操作
- destoryed() 组件销毁后, 组件已被删除,数据绑定被移除,监听被移除,子实例也被销毁
- activated 组件激活,keep-alive 专属
- deactivated 组件移除, keep-alive 专属