Vue路由重复点击时会出现报错 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location:XXX,虽然不影响运行结果,但最好还是处理一下。

局部处理
局部处理是指对单个路由进行处理,其他的路由依旧报错。
在路由跳转的push语句中添加catch捕捉错误
所以原来的路由跳转改为以下代码:
toecharts(){
this.$router.push({
path:'/echarts'
}
).catch(err => {}) //添加catch捕捉错误
}
全局处理
全局处理是指对所有路由进行处理。
在main.js文件添加以下代码(代码直接复制就好,无需改动)
import Router from 'vue-router'
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}
本文介绍如何解决Vue路由在重复点击时出现的NavigationDuplicated错误。通过局部处理和全局处理两种方式,确保应用程序在用户多次点击同一链接时能够正常工作。
570

被折叠的 条评论
为什么被折叠?



