Vue项目获取url中的参数(亲测可用)
作者:PrinciplesMan
这篇文章主要介绍了Vue项目获取url中的参数,本文通过两种情况分析给大家详细介绍,感兴趣的朋友一起看看吧
亲测可用,若有疑问请私信
获取url参数有两种情况:
情况一:内部页面之间互相传值
这里先讲情况一,因为同一项目内互相传值比较简单,假如要从A页面跳转到B页面,并传值。就要在A页面这么写
this.$router.push({name:"B",query:{ Id : this.tId , ... }})
进入B页面之后,在B页面内这么写
this.Id = this.$route.query.Id;
就能将A页面的id传入B页面,进行数据调取。
情况二:外部跳转VUE项目时自带参数
例如http://www.hahaha.com/list?Id=9#/
外部进入的url会放在VUE项目编译以后自动加 “#/” ,其中带的参数在#/之前,所以用以上方法无法获取,那么我们只能用JS的方法来获取
var url = window.location.href ; //获取当前url var dz_url = url.split('#')[0]; //获取#/之前的字符串 var cs = dz_url.split('?')[1]; //获取?之后的参数字符串 var cs_arr = cs.split('&'); //参数字符串分割为数组 var cs={}; for(var i=0;i<cs_arr.length;i++){ //遍历数组,拿到json对象 cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1] } this.id = cs.id; //这样就拿到了参数中的数据
补充:vue获取URL中的参数
1 获取?后面的参数
http://192.168.1.105:8080/#/idInput?username=%22%E5%BC%A0%E4%B8%89%22
获取参数方法 let id = this.$route.query.username
2 获取不带?的URL中的参数
http://192.168.1.12:8080/#/home/newsinfo/234
在路由中配置路由
{ path: '/home/newsinfo/:id', component: Newsinfo }
.vue页面设置
<template> <router-link :to="'/home/newsinfo/' + item.id"> </template>
获取参数方法 let id = this.$route.params.id
到此这篇关于Vue项目获取url中的参数(亲测可用)的文章就介绍到这了,更多相关vue url参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!