JS方法:
function getParam(paramName) { //地址栏传参
let paramValue = ""; let isFound = !1;
if (window.location.search.indexOf("?") == 0 && window.location.search.indexOf("=") > 1) {
let arrSource = decodeURI(window.location.search).substring(1, window.location.search.length).split("&"), i = 0;
while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
}
return paramValue == "" && (paramValue = null), paramValue
} ;
VUE路由方式:(name相对应的是params, query相对应的是path)
(query)页面之间用路由跳转传参时,刷新跳转后传参的页面,数据还会显示存在
(name)页面之间用路由跳转传参时,刷新跳转后传参的页面,数据不存在
eg:示例路由(如下)
{
path:"/page",
name:'page',
component:Pages
}
(query)传参:
url中的表现形式:http://localhost:8080/page?id=1
this.$router.push({
path: '/page',
query: {
id: 1
}
})
(query)获取参数:
this.$route.query.id
(name)传参:
url中的表现形式(无参):http://localhost:8080/page
this.$router.push({
name: 'page', params:{id: 1}
});
(name)获取参数:
this.$route.params.id