- vue生命周期是指vue实例或组件对象从创建到销毁的过程,vue所有功能的实现都是围绕其生命周期进行的,在生命周期的不同阶段调用对应的钩子函数实现组件数据管理和DOM渲染等重要功能。
生命周期:指vue实例或组件从创建到销毁的过程,在其不同阶段回调对应的钩子函数(hook)。
- 实例化创建时,初始化一些事件、生命周期
- 回调 beforeCreate()钩子函数
- init初始化注入
- 回调 created() 钩子函数
- 判断是否有el选项 没有则调用vm.$mount()去挂载模板
- 有则判断是否有template模板存在,有则编译template模板(把data对象的数据和vue语法生命的模板编译成浏览器可读的HTML),没有则使用el的模板
- 回调 beforeMount()钩子函数 将编译完成的HTML挂载到对应的虚拟dom中–此时页面并没有内容
- 将编译完成的HTML替换el属性所指向的dom中
- 回调mounted()钩子函数–编译好的HTMl挂载到页面完成后执行的事件钩子,此时一般会做一些ajax数据请求进行数据初始化
- 实时监控数据变化并随之更新DOM 循环,当数据发生改变时
- 回调beforeUpdate()钩子 —重新渲染虚拟DOM与真实DOM进行对比修改并打补丁
- 回调updated()钩子函数
- 实例销毁
- 销毁之前回调beforeDestory()钩子
- 拆除数据监听,子组件和事件监听等
- 回调destroyed() 销毁完成执行的钩子