当前位置: 首页 > 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 优先级更高

http://www.lqws.cn/news/570745.html

相关文章:

  • Spring生态创新应用
  • 【Redis#4】Redis 数据结构 -- String类型
  • 用户行为序列建模(篇七)-【阿里】DIN
  • AlphaFold3安装报错
  • 【系统分析师】2021年真题:论文及解题思路
  • GitLab详细分析
  • ​19.自动补全功能
  • 机器学习7——神经网络上
  • SpringCloud系列(40)--SpringCloud Gateway的Filter的简介及使用
  • 基于YOLO的目标检测图形界面应用(适配于YOLOv5、YOLOv6、YOLOv8、YOLOv9、YOLOv10、YOLOv11、YOLOv12)
  • Spring Cloud 服务追踪实战:使用 Zipkin 构建分布式链路追踪
  • NLP文本增强——随机删除
  • ASP.Net依赖注入!使用Microsoft.Extensions.DependencyInjection配置依赖注入
  • Vue中的v-if与emit事件传递:一个常见陷阱分析
  • documents4j导出pdf
  • Spark Web UI从0到1详解
  • 野生动物检测数据集介绍-5,138张图片 野生动物保护监测 智能狩猎相机系统 生态研究与调查
  • 【大模型学习 | CLIP 原理代码实现】
  • Matlab自学笔记六十一:快速上手解方程
  • Vue 与react 生命周期对比
  • 什么是DID(Decentralized Identifier,去中心化身份)
  • 如何优化RK3588集群的性能?支持12个RK3588云手机阵列
  • C++ 设计模式—简略版
  • MySQL的调控按钮
  • 【linux】权限深入解析
  • C/C++数据结构之动态数组
  • Vulkan 学习(18)---- 使用 ValidationLayer
  • 洛谷日常刷题3
  • 通过交互式可视化探索波动方程-AI云计算数值分析和代码验证
  • Xcode 中的 Compilation Mode 是管什么的