解决vue因路由重复调用引发的报错
2022-05-23 本文已影响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)