当前位置: 首页 > news >正文

Vue中keep-alive结合router实现部分页面缓存

实践部分:

我的这个page页面如果选中了,然后跳转到别的页面再回来发现选中的内容消失。

我希望实现出去之后跳转回来内容还在。

原来我的项目里有两处router-view

我没有成功设置好组件的缓存

6.29 希望以后有时间能够完善一下吧。

详解vue组件的keep-alive_你永远在 this.$parent 中找不到 keep-alive-CSDN博客

Vue 生命周期总结

1. 有哪些生命周期

系统自带的生命周期:

  • beforeCreate

  • created

  • beforeMount

  • mounted

  • beforeUpdate

  • updated

  • beforeDestroy 可以清理一下定时器

  • destroyed

2. 进入页面或组件时,执行的生命周期顺序
  1. beforeCreate

  2. created

  3. beforeMount

  4. mounted

3. $el$data 在各阶段的情况
 created` 阶段已有 `$data`,`mounted` 阶段才有 `$el
  • beforeCreate:既没有 $el,也没有 $data

  • created:有 $data,但没有 $el

  • beforeMount:有 $data,但没有 $el

  • mounted:既有 $data,也有 $el

$el表示DOM元素

$data表示数据 方法的状态和数据保持一致 如果$data有了,那么方法也可以调用了

4. 使用 keep-alive 时新增的生命周期
  • activated(组件激活时触发)

  • deactivated(组件失活时触发)

5. 第一次进入 keep-alive 缓存的组件时,执行的生命周期
  1. beforeCreate

  2. created

  3. beforeMount

  4. mounted

  5. activated

6. 第二次或第 N 次进入 keep-alive 缓存的组件时,执行的生命周期

仅执行 activated

(^▽^)针对这些特性:

https://juejin.cn/post/7342337684646051879

关于 keep-alive 的一些最佳实践:

  • 将只执行一次的事件挂载方法都放到 mounted

  • 将组件每次进入时需要执行的方法放在 activated

keep-alive 可以接收 3 个属性做为参数,用于匹配相应的组件进行缓存:

keep-alive参数:

  • exclude 要排除的组件(以为字符串,数组,以及正则表达式,任何匹配的组件都不会被缓存)

  • include 要缓存的组件(可以是字符串、数组或正则表达式,任何匹配的组件都不会被缓存)

  • max 缓存组件的最大值(类型为字符或数字,可以控制缓存组件的个数)

注意:当使用正则表达式或数组时,务必使用 v-bind(就是冒号开头的属性)

exclude、include 同时存在时,exclude 优先级更高

相关文章:

  • 【stm32】HAL库开发——单片机工作模式
  • stm32之普通定时器
  • 构建创意系统:驾驭Audition与Photoshop的AI之力,洞悉原子化设计哲学
  • 基于IEC61499实现的工业机器视觉方案
  • Java面试宝典:基础四
  • 复旦大学经济学院系统思考训练
  • 【三维重建】Deformable Beta Splatting
  • 2025.6.29总结
  • 华为云 Flexus+DeepSeek 征文|华为云 Flexus 云服务 Dify-LLM 平台深度部署指南:从基础搭建到高可用实践
  • C/C++数据结构之动态数组
  • NAND Flash BCH和FTL
  • git常见问题汇总-重复提交/删除已提交文件等问题
  • ROS 避障技术介绍
  • Ultralytics YOLO超参数调整指南(二)
  • 节点小宝:告别公网IP,重塑你的远程连接体验
  • docker安装gitlab
  • 微服务同时启动多个启动类方法
  • 团结引擎发布纯鸿蒙应用
  • 从理论到实战:解密大型语言模型的核心技术与应用指南
  • ali PaddleNLP docker