美文网首页
解决vue因路由重复调用引发的报错

解决vue因路由重复调用引发的报错

作者: 上海_前端_求内推 | 来源:发表于2022-05-23 18:12 被阅读0次

    在使用vue的过程中,重复点击菜单会报以下错误:

    NavigationDuplicated: Avoided redundant navigation to current location:
    解决办法:
    这是vue在3.0以上的版本中的错误提示,不允许从当前路由跳转到当前路由(所以先检查一下哪里路由跳转重复了吧)

    解决方案一
    将自身的vue-router进行降级

    yarn remove vue-router
    yarn add vue-router@3.0
    

    解决方案二
    在router的(inedx.js)配置文件中添加如下代码

    import Vue from 'vue'
    import VueRouter from 'vue-router'
    
    const originalPush = VueRouter.prototype.push
    VueRouter.prototype.push = function push(location) {
      return originalPush.call(this, location).catch(err => err)
    }
    
    Vue.use(VueRouter)
    

    若push并没有产生效果,可以换位repalce

    import Vue from 'vue'
    import VueRouter from 'vue-router'
    
    
    const originalReplace = VueRouter.prototype.replace;
    VueRouter.prototype.replace = function replace(location) {
      return originalReplace.call(this, location).catch(err => err);
    };
    
    Vue.use(VueRouter)
    

    相关文章

      网友评论

          本文标题:解决vue因路由重复调用引发的报错

          本文链接:https://www.haomeiwen.com/subject/uizrprtx.html