vue3中哈希模式URL的参数拼接在#前获取失败问题
·
vue3中,哈希模式URL的参数拼接在#/前,获取失败问题
1.正常获取
import {useRouter} from "vue-router"
let router = useRouter()
router.currentRoute.value.query//获取到是路径中的参数对象
2.通过window对象获取
let b = new URL(window.location.href);
let obj = convertQueryStringToObject(b.search.replace("?", ""))
//处理地址栏数据
function convertQueryStringToObject(queryString) {
var obj = {};
var pairs = queryString.split("&");
for (var i = 0; i < pairs.length; i++) {
var pair = pairs[i].split("=");
var key = decodeURIComponent(pair[0]);
var value = decodeURIComponent(pair[1]);
obj[key] = value;
}
return obj;
}
3.判断url中是否是#/结尾,如果是就用window对象来获取参数对象,否则就使用vue3的router来获取参数对象
if(window.location.href.endsWith("#/")){
console.log("路由是有#/结尾");
let b = new URL(window.location.href);
//处理地址栏数据
function convertQueryStringToObject(queryString) {
var obj = {};
var pairs = queryString.split("&");
for (var i = 0; i < pairs.length; i++) {
var pair = pairs[i].split("=");
var key = decodeURIComponent(pair[0]);
var value = decodeURIComponent(pair[1]);
obj[key] = value;
}
return obj;
}
let obj = convertQueryStringToObject(b.search.replace("?", ""))//参数对象
}else{
console.log("路由是有参数结尾");
let router = useRouter();
let obj = router.currentRoute.value.query//参数对象
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)