获取导航栏url的路由导航参数(Hash和非Hash)

非Hash路由

  /**
 * 解析url的参数
 * @param {string} url 路径参数
 */
function filterUrlParams() {
  let str = window.location.search.replace('?', '')
  let arr = str.split('&')
  let obj = {}
  arr.map(e => {
    let key = e.split('=')
    obj[key[0]] = key[1]
  })
  return obj
};
// filterUrlParams(location.search)
// 输出结果:{a: "1", b: "2", c: "3"}
filterUrlParams()

Hash路由

/**
 * 解析url的参数
 * @param {string} url 路径参数
 */
export function filterUrlParams() {
  var after = window.location.hash.split("?")[1];
  if (after) {
    var reg = new RegExp("(^|&)" + '需要或取得参数名' + "=([^&]*)(&|$)");
    var r = after.match(reg);
    if (r != null) {
      return decodeURIComponent(r[2]);
    } else {
      return null;
    }
  }
}

你可能感兴趣的:(获取导航栏url的路由导航参数(Hash和非Hash))