一、keep-alive 组件有什么作用?
主要用于保留组件状态或避免重新渲染。 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。
二、说下vue生命周期钩子函数?
Vue实例创建阶段的生命周期函数
- 初始化事件及生命周期函数
- brforeCreate() ————— data 和 methods 中的数据都还没有初始化
- 创建中,正在初始化 data 和 methods
- Created() ——————— 如果需要操作 data 中的数据或操作方法,可以放在这个函数里
- 开始编译模板
- beforeMount() ————- 模板编译好了,但是还没有放到页面中去
把编译好的模板放到浏览器中去进行渲染
如果数据发生改变
- beforeUpdate() ———— 页面数据还没有更新,但是 data 中的数据已经更新完毕,页面与数据不同步
Diff, 这一步执行,是先根据 data 中的最新数据,在内存中重新计算出一份 dom 树,对比新老两个 dom 树之间的差异…
beforeDestroy() ———— 销毁执行之前,实例身上所有的数据和事件,指令等等都可以用,此刻还没有真正执行销毁
- destroyed() ——————- 执行这个函数的时候,组件中的数据,方法,指令,过滤器等等完全销毁