vue生命周期
vue的盛名周期有哪些?
常用8个:创建前后,挂载前后,更新前后,销毁前后
重要的 : 创建后,挂载后,销毁前
生命周期钩子函数 | 组件状态 | 常见用法 |
---|---|---|
beforeCreate(创建前) | this指向创建的实例,还不能访问data、computed、mothods等 | 初始化非响应式变量 |
created(创建完毕,但是虚拟dom没有挂载) | 可以访问data、methods;但是未挂载到DOM,并且还不能访问 e l 属 性 , el属性, el属性,ref属性内容此时为空数组 | 简单的ajax请求,页面的初始化 |
beforeMount (开始挂载没有挂载完毕) | 在beforeMount之前,会找到对应的tempalte,并编译成render函数 | |
mounted(挂载完毕DOM加载完毕) | vue实例挂载到DOM上,$ref、el均能访问 | 获取VNode信息、ajax请求 |
beforeUpdate(更新前数据更新DOM没更新) | data发生变化,即DOM发生改变 | 适合在更新之前访问现有的DOM,如手动移除已添加的时间监听器 |
updata(更新完毕,DOM也更新完毕) | 组件DOM已更新,可执行依赖于DOM的操作 | 在这个钩子函数中操作数据,可能陷入死循环。尽量避免 |
beforeDestroy | 实例销毁之前调用。此时,实例依然可以使用,this能获取到实例 | 常用于销毁定时器、解绑全局事件、销毁插件对象等 |
destoryed | 实例销毁后调用,调用后,vue实例数据解除绑定,事件监听器被移除,子实例都被销毁 |