[英]How to get URL parameters in JavaScript?
由於您沒有使用vue-router
,我認為您無法訪問您的參數。 因此,您唯一的機會是將 URL api 用作:
const URL = new URL(window.location.href);
const getParam = URL.searchParams.get('foo');
這會給你 foo 在?foo=bar
或者,你可以做這樣的事情。
new Vue({
el: '#app',
data () {
return {
params: window.location.href.substr(window.location.href.indexOf('?'))
}
},
methods: {
getParam (p) {
let param = new URLSearchParams(this.params);
if(param.has(p)){
return param.get(p)
}else{
false
}
}
},
})
現在,只需使用getParam('foo')
獲取參數
您可以使用 window.location.search 獲取 URL 參數:
const queryString = window.location.search; console.log(queryString); // ?product=troussers&color=black&newuser&size=s
對於查詢字符串的解析參數,使用 URLSearchParams:
const urlParams = new URLSearchParams(queryString);
有關更多信息,請閱讀本教程。
我們暫時也不使用 vue 路由器。 我們使用以下腳本來解析 args。
var args = {};
var argString = window.location.hash;
//everything after src belongs as part of the url, not to be parsed
var argsAndSrc = argString.split(/src=/);
args["src"] = argsAndSrc[1];
//everything before src is args for this page.
var argArray = argsAndSrc[0].split("?");
for (var i = 0; i < argArray.length; i++) {
var nameVal = argArray[i].split("=");
//strip the hash
if (i == 0) {
var name = nameVal[0];
nameVal[0] = name.slice(1);
}
args[nameVal[0]] = decodeURI(nameVal[1]);
}
路由屬性存在於this.$route
。
this.$router
是路由器對象的實例,它給出了路由器的配置。
您可以使用 this.$route.query 獲取當前路線查詢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.