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

​​vue-router编程式导航,params传参拿不到

vue-router在4.14版本就废弃这种传参方式了

原因:​​这种传参本来就不是官方推荐的,比如页面刷新会引起参数丢失
官方解释
官方解释翻译后的截图:
在这里插入图片描述
解决(官方推荐了很多种解决方式,下面列举出快捷高效的修改方式):

1、参数简单的话就这样改

const routes = [
  {
    path: '/detail/:id',
    name: 'Detail',
    component: Detail
  }
];
// 出发
this.$router.push({ name: 'Detail', params: { id: 123 } });
// 目标页面获取
this.$route.params.id


const routes = [
  {
    path: '/yourpath/:param1/:param2',
    name: 'YourComponent',
    component: YourComponent
  }
];
// 出发
this.$router.push({ name: 'YourComponent', params: { param1: 'value1', param2: 'value2' } });
// 目标页面获取
this.$route.params.value1
this.$route.params.value2

2、参数复杂–query方式传参

记得this.$router.push的时候序列化一下,否则你拿到的可能是 “[object Object]”

this.$router.push({ name: 'Detail', query: { device: JSON.stringify(device)} });
//获取参数:
JSON.parse(this.$route.query.device)

相关文章:

  • FastAPI复杂查询终极指南:告别if-else的现代化过滤架构
  • Secs/Gem第一讲(基于secs4net项目的ChatGpt介绍)
  • 《JavaScript高级程序设计(第5版)》学习大纲
  • 【通缩螺旋的深度解析与科技破局路径】
  • Java中关于Optional的 orElse 操作,以及 orElse 与 orElseGet 的区别
  • 目标跟踪之DeepSort算法(4)
  • 响应(Response)
  • pgsql创建新用户并赋只读权限
  • 拥有一台云服务器能做什么呢?
  • fprintf() 函数:C语言中的文件格式化输出利器
  • 使用 Arduino 和 ThingSpeak 通过互联网进行实时温度和湿度监测
  • Android Studio执行Run操作报Couldn‘t terminate previous instance of app错误
  • Java 大视界 -- Java 大数据在智能教育虚拟实验室建设与实验数据分析中的应用(132)
  • leetcode0027 移除元素 - easy
  • 结构体的简单介绍(C语言)
  • 超精密工件小孔几何尺寸测量:自动化解决方案
  • 使用 Python 爬取微店关键词搜索接口(micro.item_search)的完整指南
  • 农业建设项目管理系统评测:8款推荐工具优缺点分析
  • iWebOffice2015 中间件如何在Chrome107及之后的高版本中加载
  • 车载以太网测试-11【网络层-ICMP协议】
  • 集齐中国泳坛“老中青”!200自潘展乐力压汪顺、孙杨夺冠
  • 自媒体假扮官方蹭反间谍热度攫取利益,国安机关提醒
  • 世卫大会中国代表团:中国深入参与全球卫生治理,为构建人类卫生健康共同体贡献中国力量
  • 浙江广厦:诚挚道歉,涉事责任人交公安机关
  • 内蒙古赤峰市城建集团董事长孙广通拟任旗县区党委书记
  • 媒体评教师拎起学生威胁要扔下三楼:师风师德不能“悬空”