vue-router 路由重复点击 报错

报错如图

报错:
vue-router.esm.js?8c4f:2065 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: "/home".

通过$router.push()的方式跳转路由时,路由重复点击会报错,虽然不影响功能使用,但是总会有些不合适,强迫症很难受。

解决办法:

有两种解决办法:

1.在router的配置文件index.js中,加入如下代码:
//router/index.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)
}
2.在调用$router.push()时,后边接一个catch:
this.$router.push({}).catch(err => {})

除了push以外,replace也可以使用类似方式,这里就不列举了。

如果觉得有用就帮忙点个赞吧!

你可能感兴趣的:(vue-router 路由重复点击 报错)