Vue-生命周期
vue 实例从 创建 到 销毁 的过程就是 生命周期。
也就是从开始创建、初始化数据、挂载到dom树、更新渲染、销毁等一系列过程
Vue-钩子函数
vue的生命周期常见的主要分为 4大阶段 8个钩子函数
阶段 | 方法名 | 方法名 |
---|---|---|
初始化 | beforeCreate | created |
挂载 | beforeMount | mounted |
更新 | beforeUpdate | updated |
销毁 | beforeDestroy | destroyed |
一、创建前 / 后
在beforeCreate生命周期函数执行的时候,data和method 还没有初始化
在created 生命周期函数执行的时候,data和method已经初始化完成
created 在此处可以访问 data 和 methods 等
二、渲染前/后
在beforeMount 生命周期函数执行的时候,已经编译好了模版字符串、但还没有真正渲染到页面中去
在mounted 生命周期函数执行的时候,已经渲染完,可以看到页面
mounted 在此处可以获取真实 DOM 元素
三、更新前/后
在beforeUpdate生命周期函数执行的时候,已经可以拿到最新的数据,但还没渲染到视图中去
在updated生命周期函数执行的时候,已经把更新后的数据渲染到视图中去了
updated 在此处可以获取更新后的 DOM 元素
四、销毁前/后
在beforeDestroy 生命周期函数执行的时候,实例进入准备销毁的阶段、此时data 、methods 、指令等还是可用状态
在destroyed生命周期函数执行的时候,实例已经完成销毁、此时data 、methods 、指令等都不可用
一般用于清除定时器和全局事件
另外三个生命周期函数不常用
keep-alive 主要用于减少频繁销毁、创建组件导致的性能浪费
但组件不执行 销毁** / 初始化 创建的方法了, 如何知道组件被 激活 / 失去激活 呢?
activated 只有在keep-alive 组件激活时调用。
deactivated 只有在keep-alive 组件失活时调用。
errorCapured 当捕获一个来自子孙组件的错误时被调用。此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false 以阻止该错误继续向上传播。