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

posted @ 2022-12-06 22:17  轻风细雨_林木木  阅读(299)  评论(0编辑  收藏  举报