vue-router 前端路由之路由传值的方式详解


Posted in Javascript onApril 30, 2019

路由传值

在前端的路由里面,我们在切换路由的时候,也相当于切换了页面,页面与页面之前有时候需要做到传值 ,这个时候就需要进行路由传值,在VueRouter里面,两个路由之间做跳转的时候,如何进行传值呢?

普通跨页面传值:

1.通过localStorage

setItem()
getItem()

2.通过search(地址栏 ? 后面的参数)

VueRouter的路由传值

VueRouter的路由传值有两种方式

jquery传值。 类似get传值

传值的路由

this.$router.push({
  path: "/login?uname=" + this.userName
});

传值路由第二种写法

this.$router.push({
  path: "/login",
  query: {
    uname: this.userName
  }
});

接收值的路由

console.log("接收过来的值为:" + this.$route.query.uname);        //这里是$route 没有r
----

params传值 。路径变量传值

params路由传值可以把它理解成express路径变量传值 ,它也可以放在地址栏里面进行传递

传值路由第一种写法(还是会将参数显示在地址栏中)

this.$router.push({
  path: "/login/" + this.userName
});

传值路由的第二种写法(不会将参数显示在地址栏中)

this.$router.push({
  name: "login",
  params: {
    uname: this.userName
  }
});

接收值的路由

console.log("接收过来的值为:" + this.$route.params.uname);

注意:在使用params传递参数的时候,我们需要在router的对象里面,找到当前的这个路由,然后去更改它的 path

{
   path: "/login/:uname", //代表当前url跳转的路径
   component: login, //代表在当前这个路径下面,我们如何显示组件(显示那一个组件)
   name: "login" //给当前路由取一个别名
 }

上面的path后面是 /login/:uname ,这一个是我们的一个路径变量,前面的login代表路由,而后面 :uname 代表的是变量

---

通过第二种方式的params传值 ,引伸出post原理传值

params本身确实是会把参数添加到url地址栏,但是,我们可以让它不显示出来,使用下面的方法,我们就可以把它去掉,不显示,从而内容不经过浏览器地址栏处理,直接做到传值。

它只是把路由对象里面的路径变量给去掉了,直接使用的params传值

注意事项:因为它把path里面的路径变量去掉了,所以不能使用path去传递值了

this.$router.push({
  path: "/login/" + this.userName
});
//现在上面的方法就不可用了,而必须使用下面的方法
this.$router.push({
  name: "login",
  params: {
    uname: this.userName
  }
});

这一个就是vue当中变相去处理post传值

总结

以上所述是小编给大家介绍的vue-router 前端路由之路由传值的方式详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JavaScript 事件对象的实现
Jul 13 Javascript
jQuery checkbox全选/取消全选实现代码
Nov 14 Javascript
javascript实现存储hmtl字符串示例
Apr 25 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 Javascript
js小数运算出现多位小数如何解决
Oct 08 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
Nov 30 Javascript
浅谈window.onbeforeunload() 事件调用ajax
Jun 29 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
js实现悬浮窗效果(支持拖动)
Mar 09 Javascript
vue filters的使用详解
Jun 11 Javascript
基于原生js实现九宫格算法代码实例
Jul 03 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
Aug 07 Javascript
微信小程序页面间传值与页面取值操作实例分析
Apr 30 #Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
Apr 30 #Javascript
微信小程序常用赋值方法小结
Apr 30 #Javascript
微信小程序实现同一页面取值的方法分析
Apr 30 #Javascript
一百行JS代码实现一个校验工具
Apr 30 #Javascript
Vue-cli3简单使用(图文步骤)
Apr 30 #Javascript
微信小程序单选radio及多选checkbox按钮用法示例
Apr 30 #Javascript
You might like
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
PHP 图片上传代码
2011/09/13 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Django框架模板的使用方法示例
2019/05/25 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
毕业生欢送会主持词
2014/03/31 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
个人查摆剖析材料
2014/10/16 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers