十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下vue-router前端路由之如何实现路由传值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、成都外贸网站建设、顺德网络推广、微信小程序、顺德网络营销、顺德企业策划、顺德品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供顺德建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com路由传值
在前端的路由里面,我们在切换路由的时候,也相当于切换了页面,页面与页面之前有时候需要做到传值 ,这个时候就需要进行路由传值,在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前端路由之如何实现路由传值”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。