Vue路由params、query参数丢失解决
在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参数丢失解决相关推荐
- 路由的query参数
文章目录 Message组件发送query参数 Detail组件接收query参数 本例基于 路由的基本使用.嵌套路由的实现. 项目目录如下: 一般组件components/Banner.vue &l ...
- vue 路由地址不跳转 解决办法
这里写自定义** vue 路由地址不跳转 解决办法 这是我的报错原因,因为我是一个后端开发对vue不了解 我的报错原因是因为: menu.json 中的路径 path:****** name***** ...
- vue路由传参刷新丢失
没有系统学习过vue,以前使用路由传参都是直接this.$router.push({name:'main',params:{'id': 123}})的,没有在路由定义中配置参数,如下: 复制代码 ro ...
- vue中params和query的区别,以及具体用法
query传递参数会在url后面用?连接起来,且参数之间用&&符号连接然后显示在页面的url中:params传递参数不会显示在页面中:query有点像ajax中的get请求,而para ...
- 【Vue路由】多级路由、路由传参、命名路由、params使用
文章目录 多级路由 案例实验 总结 路由传参 案例实验 总结 命名路由 路由的params参数 多级路由 案例实验 我们尝试做出如下的效果: 首先项目结构: 我们直接看四个路由组件: About.vu ...
- Vue路由和React路由
Vue路由 注意:随着版本更新,vue版本需要对应合适的vue-router版本才能正常工作,比如这里当我安装vue-router时, npm install vue-router 它默认安装的版本是 ...
- Vue2基础、组件化编程、脚手架、Vuex、Vue路由、UI组件库
尚硅谷张天禹老师讲课 学习视频 1.Vue简介 Vue2中文官网 1.1 Vue 介绍 一套用于构建用户界面的渐进式JavaScript框架 构建用户界面:把数据通过某种办法变成用户界面 渐进式:可以 ...
- Vue 路由参数传递
文章目录 路由的query参数 命名路由 路由的params参数 props配置 第三种写法 上一节:Vue 路由的基本使用 路由的query参数 先看效果 我们需要创建一个 Detail.vue 组 ...
- 路由的props参数
文章目录 props值是一个对象 props值是一个布尔值 props值是一个函数 通过props接收params参数 通过props接收query参数 使用props参数,可以更方便的给路由组件传递 ...
最新文章
- cocos2d-x返回Android游戏黑屏解决办法
- iOS开发 - OC - 实现本地数据存储的几种方式一
- linux下python3源码安装及卸载
- 嵌入式Linux内核,文件系统的制作
- 遥感影像校正效果检测系统代码设计与实现
- 数学建模暑期集训28:元胞自动机
- 【Windows】替换系统文件
- python生成随机字符串包含数字字母_使用python生成一个指定长度的字符串(随机密码),要求包括数字、字母、特殊符号(string库解析)...
- 海康威视工业相机驱动下载地址
- win8计算机无法安装打印机驱动,如果Win8计算机打印机驱动程序安装失败,该怎么办...
- win10怎么快捷锁定计算机,win10锁屏快捷键如何设置_让你win10电脑一键秒锁屏的方法...
- 计算机专业硕士论文字数要求,计算机专业硕士论文格式规范
- 第一不完全性定理证明标号分类 拆解汉译 知识背景——哥德尔原著英译拆解汉译之一
- 关于c语言中的exit()里面的意思
- java开发常用注解汇总
- 【TRIO-Basic从入门到精通教程十六】UDP通讯测试补充
- 自主创新进展制造世界主要轴承制作强国
- 裤子千万条,棉裤第一条!南方的小伙伴你穿棉裤吗?
- XLSX.js读取excel文件忽略第一行
- 钉钉、2号人事部等苦心经营的SaaS入口,或许多数人悟错了道!
热门文章
- 不间断电源 日本汤浅电池 汤浅蓄电池 无纺布袋 变压器 新加坡签证 xingyun0o
- 今天慕名去找了两个南京小吃解馋
- MX570怎么样 mx570显卡什么级别
- layui单元格换行
- 人机交互掌控未来!2019深圳国际全触与显示展领航触控显示行业新风尚
- VC6 安装错误 javasign.dll 不能在系统中注册
- 微信小程序----MUI数字输入框
- Find Bugs自己的bug. Find Bugs‘ bug.
- 第三章 基于dolphinscheduler的明细模型设计之一致性维表(DIM)建设
- 人生找不到安顿的感觉。。。