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

[vue-router]vue-router 路由传参问题

[vue-router]vue-router 路由传参问题

  • 需求描述
  • 代码环境
  • vue-router 路由传参
  • 实践问题

需求描述

该问题是在希望在代码实现路由跳转的时候,传递一些数据,而且传递数据较多,并存在一些敏感数据

代码环境

  "vue": "^3.3.4","vue-router": "^4.2.4"

vue-router 路由传参

路由传参主要有两种方式:

  • 一种是路径传参
    • 参数比较容易泄漏,容易直接通过浏览器路径看到相关参数
  • 一种是参数传递

实践问题

import { useRoute, useRouter } from "vue-router";
//控制路由跳转
const router = useRouter();
router.push({path:"/user",query:{name:"fffff",age:18}})
router.push({path:"/user",params:{name:"fffff",age:18}})//用于获取路由参数
const route = useRoute();
console.log(route.query.name)//fffff
console.log(route.params.name)//undefined

通过以上代码,发现通过query方式传递参数确实可以拿到数据,但是该种方式会非常容易拿到路径的参数,个人感觉安全性较差,三方拿到数据比较容易

所以有尝试通过params方式传递参数,但是该种方式参数虽然不会出现在路径上,但是拿不到参数???!!!网上有些说是写法不对,应该使用name的方式控制路由跳转并传参,使用path的方式会忽略params:

router.push({name:"user",params:{name:"fffff",age:18}})

但是实践后发现,哪怕使用了name 方式 依然无法拿到params的参数,然后就说是vue-router的版本问题了,可能最新的版本存在问题

因为本人不想要进行版本回退,所以放弃了通过路由传参,最终采用了通过 pinia(store) --维护全局数据的工具包的方式传递参数了

如果感兴趣可以个人尝试降低vue-router版本

相关文章:

  • 快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab
  • 使用VSCODE链接Anaconda
  • 电路布线问题动态规划详解(做题思路)
  • 【C语言基础】第02章_变量与进制
  • 2003-2022年高铁列车信息数据
  • 如何快速教你看自己电脑cpu是几核几线程
  • 编译原理——构造预测分析表(判断某字符串是否是文法G(E)的句子)
  • python第二课 变量的数据类型
  • github 上传代码报错 fatal: Authentication failed for ‘xxxxxx‘
  • 【网络协议】
  • 前后端交互常见的几种数据传输格式 form表单+get请求 form表单+post请求 json键值对格式
  • 远程运维用什么软件?可以保障更安全?
  • Visual Studio 2019光标变成灰色方块问题
  • python使用selenium做自动化,最新版Chrome与chromedriver不兼容
  • Android 10.0 系统默认打开OEM解锁开关功能实现
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【node学习】协程
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • echarts的各种常用效果展示
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • php的插入排序,通过双层for循环
  • Rancher如何对接Ceph-RBD块存储
  • SpriteKit 技巧之添加背景图片
  • ViewService——一种保证客户端与服务端同步的方法
  • Webpack 4x 之路 ( 四 )
  • 前嗅ForeSpider采集配置界面介绍
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 通过npm或yarn自动生成vue组件
  • 一个JAVA程序员成长之路分享
  • 自制字幕遮挡器
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​configparser --- 配置文件解析器​
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • (1)Android开发优化---------UI优化
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (ZT)一个美国文科博士的YardLife
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (三)模仿学习-Action数据的模仿
  • (四)汇编语言——简单程序
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net wcf memory gates checking failed
  • .net 托管代码与非托管代码
  • .net(C#)中String.Format如何使用
  • .NET中统一的存储过程调用方法(收藏)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken