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 相关文章推荐
innerText和innerHTML 一些问题分析
May 18 Javascript
jQuery之Deferred对象详解
Sep 04 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
Oct 25 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
Angular JS 生成动态二维码的方法
Feb 23 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
微信小程序 sha1 实现密码加密实例详解
Jul 06 Javascript
VsCode新建VueJs项目的详细步骤
Sep 23 Javascript
css和js实现弹出登录居中界面完整代码
Nov 26 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
Mar 27 Javascript
基于html+css+js实现简易计算器代码实例
Feb 28 Javascript
JavaScript实现下拉列表
Jan 20 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开发文件系统实例讲解
2006/10/09 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
form自动提交实例讲解
2017/07/10 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
canvas实现钟表效果
2017/02/13 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
用python实现百度翻译的示例代码
2018/03/09 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
Python中请不要再用re.compile了
2019/06/30 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
Java基础类库面试题
2013/09/04 面试题
运动会领导邀请函
2014/01/10 职场文书
吨的认识教学反思
2014/04/27 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
个人自我剖析材料
2014/09/30 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL