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 相关文章推荐
使用TextRange获取输入框中光标的位
Oct 14 Javascript
js multiple全选与取消全选实现代码
Dec 04 Javascript
JavaScript 实现类的多种方法实例
May 01 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
Jun 24 Javascript
javascript实现10个球随机运动、碰撞实例详解
Jul 08 Javascript
跟我学习javascript的call(),apply(),bind()与回调
Nov 16 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Dec 15 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 Javascript
js读取本地文件的实例
Dec 22 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
vue使用代理解决请求跨域问题详解
Jul 24 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 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
vue实现登录拦截
2020/06/29 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
详解python statistics模块及函数用法
2019/10/27 Python
python字典key不能是可以是啥类型
2020/08/04 Python
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
大学生创业计划书的范文
2014/01/07 职场文书
银行介绍信范文
2014/01/10 职场文书
会计自荐信范文
2014/03/09 职场文书
养成教育经验材料
2014/05/26 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书