首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
keep-alive 的缓存策略、includeexclu
[问答题]
keep-alive 的缓存策略、include/exclude 与激活钩子。
添加笔记
求解答(0)
邀请回答
收藏(6)
分享
纠错
4个回答
添加回答
1
我从未看清
1:在某些情况,切换动态组件,路由切换都会销毁再创建组件,使用keep-alive进行缓存,组件并不会被销毁i,而是进入缓存, 当切换组件,或者想要返回上一个页面时,组件会从缓存区再加载页面中,极大提升了性能。 2:include/exclude 这两个属性与组件中的name属性做好绑定,可以决定是否缓存,缓存自己需要的组件 include是缓存绑定组件, exclude 指定无需缓存的组件。 当不使用两者属性时,默认被keep-alive包裹的全部进入缓存 3: 激活钩子 activated : 激活恢复组件的状态 deactivared: 失活,暂存组件的此时的状态,等要用到时,可以恢复之前的滚动位置,输入框内容等
发表于 2025-11-26 15:15:12
回复(0)
0
已转码的钝角很开心
keep-alive通过LRU算法缓存非活动组件避免重复渲染,用include/exclude属性(匹配组件名)控制缓存名单,并通过activated和deactivated生命周期钩子管理组件的激活与失活状态
发表于 2026-03-11 12:56:23
回复(0)
0
WangYibo
1.缓存策略:采用 LRU(最近最少使用)算法,当缓存实例超过max设定值时,自动销毁最久未使用的实例,高效利用内存。 2.缓存控制: include:指定需要缓存的组件名(数组、正则)。 exclude:指定不缓存的组件名。 关键:匹配的是组件自身的 name 选项,而非路由名称。 3.激活钩子: activated:组件变为可见时触发(常用于获取最新数据、启动任务)。 deactivated:组件变为不可见时触发(常用于清除定时器、取消请求)。 常见用法:包裹动态组件或路由视图<router-view>,用于优化标签页、列表详情等需要保持状态和避免重复渲染的场景。</router-view>
发表于 2026-01-27 17:38:51
回复(0)
0
豁达的雪碧在offer比较
区分http和vue中的keep alive http中的指的是1.0版本的长缓存,用于复用tcp连接 Vue中的用于包裹组件,在进行页面切换,不删除对应的DOM节点,通过设定max的LRU算法,把对应的节点缓存到内存,避免重复渲染,并且能够保存上次结束后的状态。 Include指的是包含的组件 exclude指的是不报含的组件 以上给它设定了两个钩子,一个是activated用于组件激活状态,一个deactivated 用于组件未激活状态
发表于 2025-11-08 10:22:42
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
来自:
Vue-牛客面经八股
难度:
4条回答
6收藏
438浏览
热门推荐
相关试题
v-for 中 key 的作用与不...
评论
(4)
来自
Vue-牛客面经八股
讲讲 Vue3 响应式系统中的依赖...
评论
(6)
来自
Vue-牛客面经八股
axios 二次封装:拦截器、取消...
评论
(5)
来自
Vue-牛客面经八股
介绍下大型表单的校验、联动与性能优...
评论
(2)
来自
Vue-牛客面经八股
说说 Vue 的虚拟 DOM、Di...
评论
(11)
来自
Vue-牛客面经八股
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题