在项目中,尤其是多个项目混用时,项目a需要调用项目b的某个页面,并且要想项目b的页面传入值,可以用如下url的方式传值:
http://localhost:8000/#/authentica?openid=1&b=2
在项目b的页面中书写该方法,如下:
//http://localhost:8000/#/authentica?openid=1&b=2。经过此方法后得到对象{openid:1,b:2}。
getUrlParams = ({}) => {
const query = this.props.location.search;
let urlParam = {};
if(query){
const paramArr = query.split('&');
for(let i=0 ; i<paramArr.length ; i++ ){
if(i == 0) paramArr[i] = paramArr[i].substr(1,paramArr[i].length);
let arr = paramArr[i].split('=');
urlParam[arr[0]] = arr[1];
}
}
return urlParam;
}
在项目b中调用该方法,如下:
let obj = getUrlParams({self:this});
console.log("obj:",obj);//得到的结果:obj:{openid:1,b:2}