【Vue3】解决路由缓存问题(响应路由参数的变化)

官方文档解释:

在这里插入图片描述

解决问题的思路:

  1. 让组件实例不复用,强制销毁重建
  2. 监听路由变化,变化之后执行数据更新操作

方案一:给router-view添加key

以当前路由完整路径为key 的值,给router-view组件绑定

<RouterView :key="$route.fullPath" />

在这里插入图片描述

所以添加 key之后会强制替换组件,重新发送所有请求(某些情况下不需要重新发送所有请求,会造成性能浪费),而非复用。

方案二:使用 beforeRouteUpdate 导航钩子

beforeRouteUpdate 钩子函数可以在每次路由更新之前执行,在回调中执行需要数据更新的业务逻辑即可。

在这里插入图片描述

这里只需要 getCategory 重新请求,而 getBanner 不重新请求。

注意点:这里 id 会变化,不传入则使用 默认id,使用 to 的目的在于获取将要到达路由的 params参数。又因为 onBeforeRouteUpdate 是在跳转之前就执行的钩子,所以只能通过 to 来获取即将到达的路由的参数。

const getCategory = async (id = route.params.id) => {const res = await getCategoryAPI(id)categoryData.value = res.result
}const getBanner = async () => {const res = await getBannerAPI({distributionSite: '2'})bannerList.value = res.result
}
onMounted(() => {getCategory()getBanner()
})// 路由参数变化的时候,可以把分类数据接口重新发送
onBeforeRouteUpdate((to)=> {getCategory(to.params.id)
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457076.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB源码-第137期】基于matlab的NOMA系统和OFDMA系统对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 NOMA&#xff08;非正交多址&#xff09;和OFDMA&#xff08;正交频分多址&#xff09;是两种流行的无线通信技术&#xff0c;广泛应用于现代移动通信系统中&#xff0c;如4G、5G和未来的6G网络。它们的设计目标是提高频谱效…

【若依】前后端分离板快速上手

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; SpringCloud MybatisPlus JVM 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 若依框架 一、什么是若依二、运行若依项目2.1 官网下…

奚梦瑶何猷君香港共度佳节,幸福全家福彰显深厚亲情。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 从奚梦瑶父母与赌王家族的全家福中&#xff0c;我们可感受到两…

探索Gin框架:Golang Gin框架请求参数的获取

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 前言 我们在专栏的前面几篇文章内讲解了Gin框架的路由配置&#xff0c;服务启动等内容。 专栏地址&…

BUUCTF-Real-ThinkPHP]5.0.23-Rce

漏洞介绍 这个版本容易存在我们都喜欢的rce漏洞&#xff01; 网站为了提高访问效率往往会将用户访问过的页面存入缓存来减少开销。而Thinkphp 在使用缓存的时候是将数据序列化&#xff0c;然后存进一个 php 文件中&#xff0c;这使得命令执行等行为成为可能&#xff01; ThinkP…

企业网站管理系统(多语言)

应用介绍 响应式PC&#xff1a; https://demo.ldcms.com.cn/ 响应式H5&#xff1a; 前端小程序&#xff1a; 后台登录网址&#xff1a; https://demo.ldcms.com.cn/ESBFdpKflc.php/index/login 前端截图&#xff1a; 后台截图&#xff1a; 本文来自&#xff1a;企业网站管理…

小白买新电脑保姆验机教程

目录 前言&#xff1a; 正文&#xff1a; 7&#xff0c;查看硬件信息 8&#xff0c;检查硬盘 9&#xff0c;检查屏幕 10&#xff0c;烤机检测 总结&#xff1a; 前言&#xff1a; 最近因为学习的需求&#xff0c;购入了一台新的笔记本&#xff0c;正巧趁这次给身边的朋友…

【Kafka】 存储机制

目录 日志存储结构总体结构LogSegment文件具体结构偏移量索引文件结构时间戳索引文件结构消息日志文件结构 查找 message过程使用偏移量索引文件使用时间戳索引文件 相关配置 日志清除及压缩日志清理基于时间基于日志大小基于偏移量 日志压缩概述日志压缩实现细节 磁盘数据存储…

GPS对时装置、NTP对时服务器、GPS对时装置介绍

而NTP对时服务器是针对计算机、自动化装置等进行校时而研发的高科技设备&#xff0c;该产品可从北斗GPS卫星&#xff08;CDMA、B码接口、PTP&#xff09;上获取标准的时间信号&#xff0c;将这些信号通过各种接口&#xff08;NTP/SNTP、串口、B码、PTP、脉冲&#xff09;传输给…

【并发编程】手写线程池阻塞队列

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;并发编程 ⛺️稳重求进&#xff0c;晒太阳 示意图 步骤1&#xff1a;自定义任务队列 变量定义 用Deque双端队列来承接任务用ReentrantLock 来做锁并声明两个条件变量 Condition fullWai…

debian12 - openssh-9.6.P1的编译安装

文章目录 debian12 - openssh-9.6.P1的编译安装概述笔记备注END debian12 - openssh-9.6.P1的编译安装 概述 在debian12上, 源码编译安装了openssl3.2 导致ssh失败. lostspeeddebian12d4x64:~$ openssl version OpenSSL 3.2.0 23 Nov 2023 (Library: OpenSSL 3.2.0 23 Nov 2…

基于SpringBoot开发的校刊投稿系统[附源码]

基于SpringBoot开发的校刊投稿系统[附源码] &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 &#x1f…