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实现等比例缩放图片效果插件
Jul 24 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
Sep 27 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
Oct 16 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
js图片切换具体实现代码
Oct 13 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
详解node和ES6的模块导出与导入
Feb 19 Javascript
解决node终端下运行js文件不支持ES6语法
Apr 04 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 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实现维护文件代码
2007/06/14 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
ES6 十大特性简介
2020/12/09 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
上班早退检讨书
2014/01/09 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
企业晚会策划方案
2014/05/29 职场文书
单位活动策划方案
2014/08/17 职场文书
防卫过当辩护词
2015/05/21 职场文书
在校证明模板
2015/06/17 职场文书
无故旷工检讨书
2015/08/15 职场文书