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

vue中路由缓存

vue中路由缓存

  • 问题描述及截图
  • 解决思路
  • 关键代码及打印信息截图

问题描述及截图

在使用某一平台时发现当列表页码切换后点击某一卡片进入详情页后,再返回列表页时页面刷新了。这样用户每次看完详情回到列表页都得再重新输入自己的查询条件,或者切换分页到目标数据页等,操作起来非常闹心。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决思路

在原有路由面包屑处理基础上,过滤路由数据与vue文件中的name一致后即可通过keep-alive组件的include属性缓存匹配到的路由。

关键代码及打印信息截图

修改文件:src\components\Layout\BasicLayoutPage.vue<template><!-- 其他代码省略 --><router-view v-slot="{ Component }"><keep-alive :include="cachedRoutes"><component :is="components || Component" /></keep-alive></router-view>
</template><script setup lang="ts" name="BasicLayoutPage">
/*** cachedRoutes当前需要缓存的路由*/
let cachedRoutes = ref<Record<string, any>>({});
/*** 面包屑处理*/
const breadcrumbs = computed(() => {const paths = router.currentRoute.value.matched;let tempPaths = paths.map((item, index) => {return {index,isLast: index === paths.length - 1,path: item.path,breadcrumbName: (item.meta as any).title || '',};});console.log('tempPaths:', tempPaths);// 下面是处理要缓存的路由cachedRoutes.value = tempPaths.map((breadcrumb) =>breadcrumb.path.split('/').pop(), // 获取path中最后一个/后的值);console.log('cachedRoutes.value:', cachedRoutes.value);return tempPaths;
});
</script>

在这里插入图片描述

开发踩坑记,希望可以帮到正在解决该问题的你。若有侵权,联系立删。

http://www.lryc.cn/news/488861.html

相关文章:

  • Github 2024-11-18 开源项目周报 Top15
  • GRCNN使用onnxruntime和tensorrt推理
  • java中的this关键字
  • Easyexcel(3-文件导出)
  • iOS应用网络安全之HTTPS
  • openharmony napi调试笔记
  • springboot基于微信小程序的农产品交易平台
  • Spring Boot 注解
  • P8692 [蓝桥杯 2019 国 C] 数正方形:结论,组合数学
  • Spring Boot开发—— 实现订单号生成逻辑
  • React中Redux的基本用法
  • unity3d————基础篇小项目(设置界面)
  • 推荐几个 VSCode 流程图工具
  • 用java和redis实现考试成绩排行榜
  • hhdb数据库介绍(9-24)
  • HDMI数据传输三种使用场景
  • unigui 登陆界面
  • 无人机 PX4飞控 | CUAV 7-Nano 飞行控制器介绍与使用
  • 安装spark
  • 佛山三水戴尔R740服务器黄灯故障处理
  • 大学课程项目中的记忆深刻 Bug —— 一次意外的数组越界
  • html数据类型
  • Kotlin Multiplatform 未来将采用基于 JetBrains Fleet 定制的独立 IDE
  • Redis中常见的数据类型及其应用场景
  • 代理IP在后端开发中的应用与后端工程师的角色
  • 工作流和流程引擎有什么区别?
  • 【SpringBoot】27 拦截器
  • AI对开发者的影响,以及传统软件开发 与 AI参与的软件开发区别
  • HBase Java基础操作
  • 关于一次开源java spring快速开发平台项目RuoYi部署的记录