Vue项目点击浏览器返回,返回至指定的页面

需求场景:
在日常开发中,经常会出现一种情况,页面跳转逻辑是,A->B->C->D->E,但是这时候在E页面,点击浏览器返回的时候,希望到G页面,虽然听起来不太可能,或者直接在页面放一个按钮进行路由切换也是可以的,为什么一定是要按浏览器返回,但是事实确实存在;
解决方案:
思路 在vue-router的声明周期中,有切入路由的生命周期事件(beforeRouteEnter)与切出的生命周期事件(beforeRouteLeave),该需求,我们需要在切出的生命周期事件中做判断;判断to.path或者to.name 是不是到D页面的,如果是到D页面,则使用next()进行页面重定向;

/**
     * 路由离开之前,判断 返回的页面是否是重新添加页面
     * @param to 前往的路由参数
     * @param form 哪里来的路由参数
     * @param next 下一步
     * */
    beforeRouteLeave(to, from, next){
      if(to.name ==='D' ){
        next({name: 'G'});
      }else {
        next(); // 注意:这边next必须要写
      }
    },
Logo

前往低代码交流专区

更多推荐