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 相关文章推荐
让textarea控件的滚动条怎是位与最下方
Apr 20 Javascript
JavaScript脚本性能优化注意事项
Nov 18 Javascript
高亮显示web页表格行的javascript代码
Nov 19 Javascript
JavaScript 布尔操作符解析  && || !
Aug 10 Javascript
javascript中数组的concat()方法使用介绍
Dec 18 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
Mar 21 Javascript
JS实现的论坛Ajax打分效果完整实例
Oct 31 Javascript
jquery操作select取值赋值与设置选中实例
Feb 28 Javascript
Angular.JS中的this指向详解
May 17 Javascript
关于vue中 $emit的用法详解
Apr 12 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 Javascript
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
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
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
Python探索之自定义实现线程池
2017/10/27 Python
python 动态加载的实现方法
2017/12/22 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
经理职责范文
2013/11/08 职场文书
大学生校园创业计划书
2014/02/08 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书