获取路由中的参数

59 阅读1分钟
export function getParams(key) {
  const params = {};
  const { hash } = window.location;
  const paramsStr = hash.split('?')[1];
  if (!paramsStr) return '';
  const paramsKVStr = paramsStr.split('&');
  paramsKVStr.forEach((item) => {
    const [paramKey, ...value] = item.split('=');
    params[paramKey] = value.join('=');
  });
  if (key) return params[key];
  return params;
}

console.log(getParams())


export function getQuerys(e: string) {
  if (!e) return '';
  let t: any = {};
  let r: any = [];
  let n: any = '';
  let a: any = '';
  try {
    const i: any = e.indexOf('?') >= 0 && e.substring(e.indexOf('?') + 1, e.length).split('&');
    if (i.length > 0) {
      for (const o in i) {
        n = (r = i[o].split('='))[0];
        a = r[1];
        t[n] = a;
      }
    }
  } catch (s) {
    t = {};
  }
  return t;
}