router.beforeEach url携带参数跳转指定路由

  • Post author:
  • Post category:其他


  let redirecteds = {
    redirected: 111
  }
  if (to.path === "/url" && Object.keys(to.query).length === 0) {
    next({
      path: '/url',
      query: redirecteds 
    })
    return;
  }else{
    next()
    return;
  }
如果需要通过外部连接直接访问路由地址

  let pathurl = to.path  // 判断外部地址是否包含我要访问的url
  if (pathurl.indexOf("/url") !== -1 && Object.keys(to.query).length === 0) {
    let urlParmes = pathurl.split('&')
    let obj = {};
    urlParmes.forEach(item =>{
      let v2 = item.split('=');
      obj[v2[0]] = v2[1];
    })
    console.log(obj);
    next({
      path: '/url',
      query: {
        id: obj.id   // url参数设置
      }
    })
    return;
  }

可以理解为重定向到这个页面,并从url取到参数后分割参数给到重定向的url上main.js

//路由跳转权限设置

router.beforeEach((to, from, next) => {

NProgress.start();

Object.assign(to.meta, to.params, to.query);

let pathurl = to.path

let queryLen = to.query

if (pathurl.indexOf(“/supplier1”) !== -1) {

next({

path: ‘/supplier2’,

query: {

ID: queryLen.ID,

}

})

return;

}



版权声明:本文为qq_40295815原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。