Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: "/".
时间: 2024-06-13 09:06:07 浏览: 368
由回调函数、Promise到async/await的同步写法执行异步代码
5星 · 资源好评率100%
这个错误通常是由于在Vue路由中重复点击相同的路由链接而导致的。当你在当前路由上重复点击时,Vue路由会抛出NavigationDuplicated错误,因为它已经在当前位置,不需要再次导航到相同的位置。
为了解决这个问题,你可以使用Vue Router提供的导航守卫来检查路由是否重复。具体来说,你可以使用beforeRouteUpdate导航守卫来检查路由是否重复,并在需要时取消导航。
以下是一个示例代码,演示如何使用beforeRouteUpdate导航守卫来解决NavigationDuplicated错误:
```javascript
const router = new VueRouter({
routes: [
// your routes here
]
});
router.beforeRouteUpdate((to, from, next) => {
if (to.path === from.path) {
next(false);
} else {
next();
}
});
```
在这个示例中,我们使用beforeRouteUpdate导航守卫来检查当前路由是否与要导航到的路由相同。如果是,则取消导航,否则继续导航。
阅读全文