1. location
window.location.replace(`${
window.location.origin}?a=${
record.a}&b=${
record.b}&c=${
record.c}`)
let result = new Object();
//获取?的位置
const url = document.location.href
const index = url.indexOf("?")
if (index != -1) {
//截取出?后面的字符串
const str = url.substr(index + 1);
//将截取出来的字符串按照&变成数组
const strs = str.split("&");
//将get传参存入对象中
for (let i = 0; i < strs.length; i++) {
result[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
}
}
this.a= result.a
this.b= result.b
this.c= result.c
2. router
2.1 params
params就是路由的一部分,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容。
this.$router.push({
name: 'xxxx',
params: {
a: record.a,
b: record.b,
c: record.c
}
})
this.a= this.$route.params.a
this.b= this.$route.params.b
this.c= this.$route.params.c
2.1 query
this.$router.push({
path: `/x/xx/xxx/xxxx?a=${
record.a}&b=${
record.b}&c=${
record.c}` });
this.$router.push({
path: '/xxxx',
query: {
a: record.a,
b: record.b,
c: record.c
}
})
this.a= this.$route.query.a
this.b= this.$route.query.b
this.c= this.$route.query.c