Vue day5
组件的生命周期
一个组件从开始注册到销毁的整个过程
每个过程:vue提供了不同的钩子函数(在不同过程自动触发的函数),

组件生命周期的过程
-
实例挂载
beforeCreate(在实例的事件和钩子函数初始化后触发,不常用,因为这个时候还没有数据和方法)
creatd(在实例及其原型的属性和方法全部初始化完毕,及其dota数据变成响应式后触发,常用,因为其已经可以调用实例的属性和方法,除了不可以获取dom操作,初始化操作都可以在这里执行,页面初始数据的ajax请求函数应该放在这里执行)
beforemount(在模板渲染成真实dom完毕之前触发,不常用)
mounted(在真实dom加载完之后触发,一切组件都已经初始化,在这里可以获取dom,所有需要获取dom操作都可以在这里执行,比如swiper,地图,echarts,富文本) -
数据更新
beforUpdate(数据改变 视图重新渲染之前)
updated(数据改变之后,视图重新渲染之后,这里可以获取到最新的dom) -
组件销毁
beforeDestroy(实例销毁之前,常用,因为此时还能调用实例的数据和方法,销毁组件中的定时器,全局事件绑定这种) //组件销毁只是销毁实例,其他定义在Window的并未销毁,比如定时器滚动距离这种,所有要在这个钩子函数销毁这些东西
destroyed(实例已经销毁了,不常用)
组件修仙(组件在消失时不会销毁,而是一直缓存在内存中)
vue中提供了一个组件
keep-alive
不要滥用,否则会造成内存泄漏
<keep-alive>
<common v-if="isshow"></common>
</keep-alive>
其状态切换也有两个钩子函数:
activated() {
console.log("keep-alive激活时触发");
},
deactivated() {
console.log("keep-alive停用时触发");
},

浙公网安备 33010602011771号