vue路由传参页面刷新参数丢失问题解决方案


Posted in Javascript onOctober 08, 2019

最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决;Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下:

方法一:params传参:

this.$router.push({
    name:"admin",

//这里的params是一个对象,id是属性名,item.id是值(可以从当前组件或者Vue实例上直接取)
    params:{id:item.id}
})    

//这个组件对应的路由配置
{

//组件路径
  path: '/admin',

//组件别名
  name: 'admin',

//组件名
  component: Admin,
}

通过params传递参数,如果我们想获取id的 参数值,我们可以通过this.$route.params.id这种方式来打印出来就可以得到了;(注意:获取参数的时候是$route,跳转和传参的时候是$router)

方法二:路由属性配置传参:

this.$router.push({
    name:"/admin/${item.id}",
})    

//这个组件对应的路由配置
{
//组件路径
  path: '/admin:id',

//组件别名
  name: 'admin',

//组件名
  component: Admin,
}

通过路由属性配置传参我们可以用this.$route.params.id来获取到id的值,注意this.$router.push方法里面路径带的是值,路由配置项那里带的是变量名(属性名)来实现的对应;

以上两种传参方式基本上可以理解为ajax中的post请求方式,参数都是不可见的,但是上面两种方法都有一个弊端,就是当页面刷新了是获取不到参数值的,那么有没有一种方法是页面刷新之后参数依然存在呢?

方法三:query传参

this.$router.push({
    name:"/admin",

 query:{id:item.id}
})    
//这个组件对应的路由配置
{

//组件路径
  path: '/admin',

//组件别名
  name: 'admin',

//组件名
  component: Admin,
}

第三种方式是用query来传参,这种方式是可以解决页面刷新参数消失问题的,这种方式可以理解为是ajax中的get方法,参数是直接在url后面添加的,参数是可见的,所以解决页面刷新参数消失问题建议使用方法三来解决;

其实解决页面刷新参数丢失问题的方案还有很多,比如把参数存在sessionStorange或者localStorange中都是可行的,不过我们既然用vue框架,就要用vue的方式来解决问题。这里只是想告诉大家,问题的解决方案可以多种多样,要学会用多种方式或者说多种方案来解决一个问题,不要有太多的局限性!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 目录列举函数
Nov 06 Javascript
window.open不被拦截的实现代码
Aug 22 Javascript
web性能优化之javascript性能调优
Dec 28 Javascript
js捕获鼠标滚轮事件代码
Dec 16 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
jQuery子窗体取得父窗体元素的方法
May 11 Javascript
JavaScript获取服务器端时间的方法
Nov 29 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
Dec 17 Javascript
ionic2 tabs 图标自定义实例
Mar 08 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 Javascript
微信小程序 上传头像的实例详解
Oct 27 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
Dec 14 Javascript
vux-scroller实现移动端上拉加载功能过程解析
Oct 08 #Javascript
深入学习Vue nextTick的用法及原理
Oct 08 #Javascript
jQuery 筛选器简单操作示例
Oct 02 #jQuery
jQuery 查找元素操作实例小结
Oct 02 #jQuery
JavaScript 作用域实例分析
Oct 02 #Javascript
JavaScript Dom 绑定事件操作实例详解
Oct 02 #Javascript
JavaScript 面向对象基础简单示例
Oct 02 #Javascript
You might like
PHP安装攻略:常见问题解答(二)
2006/10/09 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
Javascript base64编码实现代码
2011/12/02 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
Python实现抢购IPhone手机
2018/02/07 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
Python实现Restful API的例子
2019/08/31 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
python 通过文件夹导入包的操作
2020/06/01 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
单位门卫岗位职责
2013/12/20 职场文书
人事任命书怎么写
2014/06/05 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
余世维讲座观后感
2015/06/11 职场文书
结婚典礼主持词
2015/06/29 职场文书
2015年国培研修感言
2015/08/01 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python