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

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.kler.cn/a/405301.html

相关文章:

  • 【Stable Diffusion】 超大尺寸绘制、分区控制,详解Tiled Diffusion VAE插件功能
  • STM32F103 GPIO和串口实战
  • aws凭证(一)凭证存储
  • MACOS开发、使用常见问题汇总
  • AI一键生成原创花卉印花图案——创新与效率的结合
  • 一键部署 200+ 开源软件的 Websoft9 面板,Github 2k+ 星星
  • Python创建虚拟环境报错:Error: Command......
  • 项目中排查bug的思路案例
  • 【Spring MVC】关于Spring MVC编程中与http请求的参数传递的详细介绍
  • 【MySQL系列】深入理解MySQL中的存储、排序字符集
  • Ubuntu20.04从零安装IsaacSim/IsaacLab
  • python内存分析
  • Qt-常用的显示类控件
  • Zookeeper集群搭建Centos环境下
  • ROS机器视觉入门:从基础到人脸识别与目标检测
  • 网络安全中常用浏览器插件、拓展
  • 生日主题的烟花特效HTML,CSS,JS
  • 20241121 android中树结构列表(使用recyclerView实现)
  • 【K8S系列】imagePullSecrets配置正确,但docker pull仍然失败,进一步排查详细步骤
  • java: spire.pdf.free 9.12.3 create pdf
  • Android 应用添加系统签名权限介绍
  • reactflow 中 useOnViewportChange 模块作用
  • 异构网络,赋能企业的智能连接
  • Next.js 入门指南:深入构建服务器渲染的现代 Web 应用
  • SpringBoot(二十七)SpringBoot集成XRebel实现异常定位
  • VMware 中 虚拟机【Linux系统】固定 ip 访问