vue2 和 vue3 :关于keep-alive 使用的不同

vue3中不能直接使用keep-alive

vue2 和 vue3 对于keep-alive使用方法的区别

  1. vue2使用方法

  2. vue3使用方法

机制

当一个组件被keep - alive包裹时,在组件切换过程中,如果该组件被再次使用,它不会被重新创建,而是直接使用之前缓存的实例。这对于性能优化非常有帮助,特别是在频繁切换组件但组件内容不需要每次都重新加载的场景下

理解原因

Vue 3 的响应式原理和组件渲染更新机制变化,vue3禁止了vue2的那种直接用法

在 Vue 2 中,transition组件包裹router - view的方式是比较直接的。Vue 2 的响应式系统是基于Object.defineProperty()来实现的。transition组件能够相对简单地监听子组件(这里是router - view中的组件)的插入和移除等操作

Vue 3 采用了Proxy对象来实现响应式。这使得组件的渲染和更新过程在内部机制上有所改变。Vue 3 更加注重组合式 API 和组件之间的逻辑复用,通过v - slot获取router - view中的组件,更好地在外部组件中对内部组件进行状态管理、事件处理等操作

测试代码地址可见:vue2 和 vue3 :关于keep-alive 使用的不同vue3中不能直接使用keep-alive包裹, vue2 - 掘金 (juejin.cn)

相关推荐
FungLeo8 小时前
成为全栈·React 管理后台篇·总复盘:从“接口能调通”到“后台值得使用”
前端·react.js·前端框架·项目复盘·成为全栈
Csvn9 小时前
并发模式:让渲染学会排队、插队和让路
前端
可乐鸡翅yeah_10 小时前
新手梳理:M3U8 线上问题,哪些是前端锅,哪些是后端锅
前端·ios·音视频·实时音视频·m3u8·音视频在线播放
Flynt10 小时前
Linear 用 1000 个 PR 换掉 styled-components,我写了 200 个按钮,把这笔账复现了一遍
前端·css·preact
JavaGuide11 小时前
NVIDIA 又开源了!这次给 AI Agent 加上权限管控
前端·后端
excel11 小时前
prisma 如何处理数据库竞态
前端·数据库·后端
莪_幻尘12 小时前
Skill 体检:30 个 Skill 全凭感觉?体检器先自曝了 8 个“假 0 分
前端·人工智能·llm
风骏时光牛马12 小时前
AI模型综合能力评测:性能、指令遵循与多场景实测对比
前端
Frag0ut12 小时前
Chrome与Chromium内核浏览器在Windows 11上的新特性全景解析
前端·chrome·windows·web安全·chromium·gemini ai·playready drm
hiahiahia12313 小时前
实现完整 Tool Dispatcher
开发语言·前端