vue单页面项目返回上一页无效,链接变化了,但是页面没有变化

在最近的项目中,返回上一页没有效果,经过好久的排查才发现问题,是路由守卫写法不规范导致。

 

在项目中用路由守卫做了登录拦截,没登录的跳转到登录页面。页面跳转和拦截都没问题,但是返回上一页就不行了,也没有报错。

代码贴上来

router.beforeEach((to, from, next) => {  
  if (to.meta.loginCheck) {     //登录判断,如果登录了则正常跳转,如没有登录,则先登录
    let gesToken =localStorage.getItem('gesToken');
    if(gesToken){ 
      next();
    }else{
      router.replace({path:'/login'});
   
next();  //这行是重点,bug的原因就在这
}; } else { next(); }; });

 

本来以为next()的作用就是下一步跳转页面,后来发现,不能正常返回上一页,就是因为我使用完router.replace()之后,没有再使用next();

next()无论什么情况都是必须写的!!

 

转载于:https://www.cnblogs.com/LChenglong/p/11202177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值