在使用 $router.push() 时,如果使用了query,则可以在跳转后从query中获取到对应的参数。如果传的是字符串自然没问题,但是如果传的其他类型的数据,在跳转之后是正常的,而跳转之后再刷新一遍页面的话,query里面的属性的值都会变成字符串。例如:

this.$router.push({ name:'product', query: {canSee: false} });

  最初跳转之后,this.$route.query.canSee打印的值是Boolean类型的。然后刷新一下,值就变成了String类型了。个人猜测是因为刷新后query的值是直接从页面URL中取的,而在页面URL上的参数的类型只能是字符串类型。

解决方法

  1. 在传值之前把要传的参数单独放到一个对象里,在放到query里面,然后进行JSON.stringify()处理,到了目标页面后再进行JSON.parse()处理,还原对象。这种方法的好处是可以一次性处理多个参数,而且适用度高,建议使用这种方法。

  2. 传值前不做处理,到了目标页面后再单独对原本为非字符串的数据进行JSON.parse()处理。缺点是字符串类型的数据不能如此处理,要确保该数据不是字符串类型的。局限性大,不推荐适用。

相关文章:router路由跳转使用query传递参数刷新后数据无法获取

最新文章

  1. 新手码农浅谈观察者模式(java语言简单实现)
  2. SSH+Oracle10G抛Disabling contextual LOB creation as createClob() m
  3. viewpage图片轮播
  4. Java RMI(远程方法调用) 实例与分析 (转)
  5. 在Ubuntu 中使用Source Code Pro字体
  6. 浏览器选择最新IE渲染
  7. UiPath针对SAP的输入技巧
  8. Java程序设计与数据结构导论--读后感
  9. 四、latex字体字号设置
  10. 原生js轮播图实现
  11. [TenserFlow学习笔记]——安装
  12. 2018/03/07 每日一个Linux命令 之 cat
  13. pycharm运行pytest
  14. Elasticsearch之集群脑裂
  15. 【转载】oracle索引详解2
  16. hdu2083 简易版之最短距离 排序水题
  17. 【[USACO08JAN]haybale猜测Haybale Guessing】
  18. 我的CCF备考指南
  19. 6410在rvds下编译启动代码报错分析
  20. Domoticz 中添加彩云天气

热门文章

  1. SQL Source Control
  2. js数组去重的常用方法总结
  3. vue --- 脚手架初始化项目中配置文件webpack.base.conf.js代码含义
  4. 关于springmvc重定向后Cannot create a session after the response has been committed问题
  5. android+myeclipse+mysql下拉框数据绑定
  6. STM32CUBEF4 实现USB 虚拟串口
  7. CSUOJ 1549 Navigition Problem
  8. JAVA 并发编程-线程范围内共享变量(五)
  9. 归并排序_分治算法 (白书P226)
  10. jquery20--animate() : 运动的方法