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 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
Sep 24 Javascript
JavaScript+CSS无限极分类效果完整实现方法
Dec 22 Javascript
Vue.js快速入门教程
Sep 07 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
JavaScript组件开发之输入框加候选框
Mar 10 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 Javascript
Vue.js常用指令之循环使用v-for指令教程
Jun 27 Javascript
jQury Ajax使用Token验证身份实例代码
Sep 22 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 Javascript
Swiper实现导航栏滚动效果
Oct 16 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
php_xmlhttp 乱码问题解决方法
2009/08/07 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
php中strtotime函数性能分析
2016/11/20 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
JS 修改URL参数(实现代码)
2013/07/08 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
python杀死一个线程的方法
2015/09/06 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
python实现超市扫码仪计费
2018/05/30 Python
python skimage 连通性区域检测方法
2018/06/21 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
智能钱包:Ekster
2019/11/21 全球购物
秋游活动策划方案
2014/02/16 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
小学班主任事迹材料
2014/12/17 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
大学生十八大感想
2015/08/11 职场文书