在vue中路由传参有两种形式:1.params;2.query

解决办法:sessionStorage或者localStorage
两者的区别:localStorage是永久保存不清除一直存在,sessionStorage关闭客户端即清除

首先有两个页面,通俗点页面一和页面二;
页面一给页面二传递路由参数

params参数

   this.id = 666this.$router.push({name: '页面二',params: {id: this.id}})

在页面二获取参数id

    let id = this.$route.params.id console.log(id) //666

id为我们传送的666;
但是,
我们刷新页面的话,就会造成参数丢失的问题,

    console.log(id) //undefined

解决

页面一

   this.id = 666sessionStorage.setItem('id',this.id )this.$router.push({name: '页面二',params: {id: this.id}})

页面二

     let id = this.$route.params.id!=undefined ? this.$route.params.id :  sessionStorage.getItem('id')console.log(id) //666

query参数

     let obj={id:666,Ma:{name:'小马'}}this.$router.push({path:"/Echartss",query:obj})

在页面二

    console.log(this.$route.query.id,'this.$route.query.id') //666console.log(this.$route.query.Ma,'this.$route.query.Ma') //{name:'小马'}

刷新页面后

    console.log(this.$route.query.id,'this.$route.query.id') //666console.log(this.$route.query.Ma,'this.$route.query.Ma')//[object Object]

就获取不到name的值

解决

页面一

     let obj = {id: 666,Ma: {name: "小马"}};sessionStorage.setItem("obj", JSON.stringify(obj));this.$router.push({path:"/Echartss",query:obj})

页面二

    let id = this.$route.query.id!=undefined ? this.$route.query.id :  JSON.parse(sessionStorage.getItem('obj')).idlet Ma = this.$route.query.Ma.name!=undefined ? this.$route.query.Ma :  JSON.parse(sessionStorage.getItem('obj')).Maconsole.log(id) //666console.log(Ma) //{name:"小马"}

通过JSON将对象变成json字符串再格式化的方法解决

Vue路由params、query参数丢失解决相关推荐

  1. 路由的query参数

    文章目录 Message组件发送query参数 Detail组件接收query参数 本例基于 路由的基本使用.嵌套路由的实现. 项目目录如下: 一般组件components/Banner.vue &l ...

  2. vue 路由地址不跳转 解决办法

    这里写自定义** vue 路由地址不跳转 解决办法 这是我的报错原因,因为我是一个后端开发对vue不了解 我的报错原因是因为: menu.json 中的路径 path:****** name***** ...

  3. vue路由传参刷新丢失

    没有系统学习过vue,以前使用路由传参都是直接this.$router.push({name:'main',params:{'id': 123}})的,没有在路由定义中配置参数,如下: 复制代码 ro ...

  4. vue中params和query的区别,以及具体用法

    query传递参数会在url后面用?连接起来,且参数之间用&&符号连接然后显示在页面的url中:params传递参数不会显示在页面中:query有点像ajax中的get请求,而para ...

  5. 【Vue路由】多级路由、路由传参、命名路由、params使用

    文章目录 多级路由 案例实验 总结 路由传参 案例实验 总结 命名路由 路由的params参数 多级路由 案例实验 我们尝试做出如下的效果: 首先项目结构: 我们直接看四个路由组件: About.vu ...

  6. Vue路由和React路由

    Vue路由 注意:随着版本更新,vue版本需要对应合适的vue-router版本才能正常工作,比如这里当我安装vue-router时, npm install vue-router 它默认安装的版本是 ...

  7. Vue2基础、组件化编程、脚手架、Vuex、Vue路由、UI组件库

    尚硅谷张天禹老师讲课 学习视频 1.Vue简介 Vue2中文官网 1.1 Vue 介绍 一套用于构建用户界面的渐进式JavaScript框架 构建用户界面:把数据通过某种办法变成用户界面 渐进式:可以 ...

  8. Vue 路由参数传递

    文章目录 路由的query参数 命名路由 路由的params参数 props配置 第三种写法 上一节:Vue 路由的基本使用 路由的query参数 先看效果 我们需要创建一个 Detail.vue 组 ...

  9. 路由的props参数

    文章目录 props值是一个对象 props值是一个布尔值 props值是一个函数 通过props接收params参数 通过props接收query参数 使用props参数,可以更方便的给路由组件传递 ...

最新文章

  1. cocos2d-x返回Android游戏黑屏解决办法
  2. iOS开发 - OC - 实现本地数据存储的几种方式一
  3. linux下python3源码安装及卸载
  4. 嵌入式Linux内核,文件系统的制作
  5. 遥感影像校正效果检测系统代码设计与实现
  6. 数学建模暑期集训28:元胞自动机
  7. 【Windows】替换系统文件
  8. python生成随机字符串包含数字字母_使用python生成一个指定长度的字符串(随机密码),要求包括数字、字母、特殊符号(string库解析)...
  9. 海康威视工业相机驱动下载地址
  10. win8计算机无法安装打印机驱动,如果Win8计算机打印机驱动程序安装失败,该怎么办...
  11. win10怎么快捷锁定计算机,win10锁屏快捷键如何设置_让你win10电脑一键秒锁屏的方法...
  12. 计算机专业硕士论文字数要求,计算机专业硕士论文格式规范
  13. 第一不完全性定理证明标号分类 拆解汉译 知识背景——哥德尔原著英译拆解汉译之一
  14. 关于c语言中的exit()里面的意思
  15. java开发常用注解汇总
  16. 【TRIO-Basic从入门到精通教程十六】UDP通讯测试补充
  17. 自主创新进展制造世界主要轴承制作强国
  18. 裤子千万条,棉裤第一条!南方的小伙伴你穿棉裤吗?
  19. XLSX.js读取excel文件忽略第一行
  20. 钉钉、2号人事部等苦心经营的SaaS入口,或许多数人悟错了道!

热门文章

  1. 不间断电源 日本汤浅电池 汤浅蓄电池 无纺布袋 变压器 新加坡签证 xingyun0o
  2. 今天慕名去找了两个南京小吃解馋
  3. MX570怎么样 mx570显卡什么级别
  4. layui单元格换行
  5. 人机交互掌控未来!2019深圳国际全触与显示展领航触控显示行业新风尚
  6. VC6 安装错误 javasign.dll 不能在系统中注册
  7. 微信小程序----MUI数字输入框
  8. Find Bugs自己的bug. Find Bugs‘ bug.
  9. 第三章 基于dolphinscheduler的明细模型设计之一致性维表(DIM)建设
  10. 人生找不到安顿的感觉。。。