«

Vue怎么获取url路由地址和参数

时间:2024-7-19 11:03     作者:韩俊     分类: Javascript


这篇“Vue怎么获取url路由地址和参数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue怎么获取url路由地址和参数”文章吧。

1.window.location

实例:http://www.myurl.com:8866/test?id=123&username=xxx

当前URL

window.location.href
结果:http://www.myurl.com:8866/test?id=123&username=xxx

协议

window.location.protocol
结果:http

域名 + 端口

window.location.host
结果:www.myurl.com:8866

域名

window.location.hostname()
结果:www.myurl.com

端口

window.location.port()
结果:8866

路径部分

window.location.pathname()
结果:/test

请求的参数

window.location.search
结果:?id=123&username=xxx

备注:获取参数

// var url="www.baidu.com?a=1&b=2&C=3";//测试地址

/*
 * 分析:最前面是?或&,紧跟着除 ?&#以外的字符若干
 * 然后再等号,最后再跟着除 ?&#以外的字符
 * 并且要分组捕获到【除?&#以外的字符】
 */
 
var reg=/[?&]([^?&#]+)=([^?&#]+)/g;
var param={};
var ret =  reg.exec(url);
while(ret){ // 当ret为null时表示已经匹配到最后了,直接跳出
    param[ret[1]]=ret[2];
    ret = reg.exec(url);
}
console.log(param)

获取’?'前边的URL

window.location.origin()
结果:http://www.myurl.com:8866

获取#之后的内容

window.location.hash
结果:null

2.vue-router 获取参数

    this.$route

    this.$route.fullPath

    this.$route.hash

    this.$route.matched

    this.$route.meta

    this.$route.params

    this.$route.query

补充:vue获取地址栏地址url截取参数

vue获取地址栏地址url截取参数 方法 (新建js文件)

export function UrlSearch(){<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
let name,value,str=location.href,num=str.indexOf("?"); //取得整个地址栏
str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ]
let arr=str.split("&"); //各个参数放到数组里
console.log(arr)
for(let i=0;i < arr.length;i++){<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
num=arr[i].indexOf("=");
if(num>0){<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[name]=value;
}
}
}

在main.js引入

挂载到全局

使用

标签: javascript vue

热门推荐