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 相关文章推荐
jQuery+CSS 实现的超Sexy下拉菜单
Jan 17 Javascript
基于jquery的表头固定的若干方法
Jan 27 Javascript
JQuery中html()方法使用不当带来的陷阱
Apr 07 Javascript
Angular用来控制元素的展示与否的原生指令介绍
Jan 07 Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
Apr 06 Javascript
jQuery代码性能优化的10种方法
Jun 21 Javascript
JavaScript实现复制文章自动添加版权
Aug 02 Javascript
JS实现重新加载当前页面或者父页面的几种方法
Nov 30 Javascript
详解jquery选择器的原理
Aug 01 jQuery
11行JS代码制作二维码生成功能
Mar 09 Javascript
详解vuex的简单todolist例子
Jul 14 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
javascript call和apply方法
2008/11/24 Javascript
简略的前端架构心得&&基于editor为例子的编码小技巧
2010/11/25 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
js表单登陆验证示例
2016/10/19 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
详解python中的index函数用法
2019/08/06 Python
python爬虫增加访问量的方法
2019/08/22 Python
Python循环实现n的全排列功能
2019/09/16 Python
在python中使用nohup命令说明
2020/04/16 Python
解释下面关于J2EE的名词
2013/11/15 面试题
绿色校园广播稿
2014/10/13 职场文书