javascript - Vue Router推送错误: Avoided redundant navigation to current location

标签 javascript typescript vue.js vue-router

有没有办法避免错误:避免冗余导航到当前位置。我需要做一个分页,这是方法:

handlePageChange(page: number): void {
  const query = {
    ...this.$route.query,
    page: page.toString(),
  };
  this.$router.push({ name: 'PageName', query });
}

而且我不断在控制台中收到错误消息:

Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: "/page-path?page=2".

我试着用路由器做一个捕获,但那不起作用。有人可以帮我阐明我在这里做错了什么吗? :/

最佳答案

如果忽略是安全的,并且你正在使用 vue-router ^3.4.0,你可以这样做:

import VueRouter from 'vue-router'

const { isNavigationFailure, NavigationFailureType } = VueRouter
...
this.$router.push(fullPath).catch(error => {
  if (!isNavigationFailure(error, NavigationFailureType.duplicated)) {
    throw Error(error)
  }
})

更多详情请引用Navigation Failures .

关于javascript - Vue Router推送错误: Avoided redundant navigation to current location,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65878999/

相关文章:

typescript - 将被减数与差的交集分配给减数与被减数的交集

javascript - 如何访问变体中的颜色?在 Vue 中

vue.js - "v-on with no argument expects an object value"当焦点进入视野时,类星体选择器中面临此错误

javascript - 过滤输入文本以仅输入数字而不是小数

javascript - 滚动到页面上值 = 'x' 的位置

javascript - 如何从 Node.js 快速操作处理程序执行延迟响应?

javascript - 如何在javascript中分配函数?

javascript - 使用WebStorm测试Angular JS : unresolved function or method inject()

javascript - 关节.shapes.uml.js : Uncaught TypeError: Cannot read property 'Generic' of undefined

javascript - 没有合并的主干集