报错:
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也可以使用类似方式,这里就不列举了。
如果觉得有用就帮忙点个赞吧!