在这里插入图片描述
vue项目中,重复点击左侧菜单栏某个菜单,出现图示报错:Error: Avoided redundant navigation to current location: XXX路由名儿

原因

首先出现这个问题不是因为element ui框架的问题,而是vue-router版本的问题

解决方案:

一、如果不想更新vue-router 版本,可在引入vue-router时,改变其原型链的push方法

import Vue from 'vue'
import VueRouter from 'vue-router'
import store from '@/store'
// 解决路由访问重复时报错问题:
const originalPush = VueRouter.prototype.push
   VueRouter.prototype.push = function push(location) {
   return originalPush.call(this, location).catch(err => err)
}

Vue.use(VueRouter)

若修改了push还是没有生效,可尝试修改replace方法:

const originalReplace = Router.prototype.replace;
Router.prototype.replace = function replace(location) {
  return originalReplace.call(this, location).catch(err => err);
  }

二、更新vue-router版本
官方在vue-router 3.1.1版本中解决了此问题在这里插入图片描述

在这里插入图片描述npm i vue-router@3.1.1 -S 或更高版本。。

Logo

前往低代码交流专区

更多推荐