当 vue 项目中使用 vue-router 的 编程式导航 写法进行路由切换时:

// Search/index.vue
<button @click="goSearch" v-model="keyword">搜索</button>  //按钮绑定事件,切换路由methods: {goSearch() {this.$router.push({     //编程式导航name: 'search',params: {keyword: this.keyword,},query: {k: this.keyword.toUpperCase()}})}}

如果用户在页面 多次点击按钮 时,浏览器的控制台报如下错误:

错误原因: vue-router 实例上的 push 方法返回的是 promise 对象,所以传入的参数期望有一个成功和失败的回调,如果省略不写则会报错。

解决方案一:每次使用 push 方法时带上两个回调函数:

this.$router.push(`/search/${this.keyword}}`, ()=>{}, ()=>{})
//第二、第三个参数分别为成功和失败的回调函数

解决方案二:重写 Vue-router 原型对象上的 push 函数:

let originPush =  VueRouter.prototype.push;  //备份原push方法VueRouter.prototype.push = function (location, resolve, reject){if (resolve && reject) {    //如果传了回调函数,直接使用originPush.call(this, location, resolve, reject);}else {                     //如果没有传回调函数,手动添加originPush.call(this, location, ()=>{}, ()=>{}); }
}

错误 “Avoided redundant navigation to current location...” 的解决方案相关推荐

  1. 解决报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: “

    报错内容: vue-router.esm.js?68cf:2065 Uncaught (in promise) NavigationDuplicated: Avoided redundant navi ...

  2. 四种解决Vue中重复点击相同路由控制台报错问题( Avoided redundant navigation to current location)

    vue-router 升级到3.1.x 后,重复点击导航时,控制台出现报错 ,虽然不影响功能使用,但是看的就不舒服. 报错信息 Uncaught (in promise) NavigationDupl ...

  3. vue2里面的Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location

    编程式导航跳转到当前路由(参数不变),多次执行就会在控制台出现如下结果: 怎么解决: (1)最有效--重写push.replace 在router-index.js中添加: // 重写push.rep ...

  4. 前端开发:Vue项目报错NavigationDuplicated:Avoided redundant navigation to current location:“/XXX”的解决方法

    最近在Vue项目开发的过程中遇到一个问题,那就是在点击同一个路由操作的时候,控制台会报一下错误提示: Uncaught (in promise) NavigationDuplicated: Avoid ...

  5. Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: “/deta

    Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: " ...

  6. vue 跳转报 NavigationDuplicated: Avoided redundant navigation to current location: “/to-do“.

    错误提示:NavigationDuplicated: Avoided redundant navigation to current location: "/to-do". 提示这 ...

  7. 解决Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location问题

    在Vue路由中遇到Error: Avoided redundant navigation to current location:xxxx:错误,意思是路由重复 在router文件夹下的index.j ...

  8. 解决Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location

    问题描述:重复点击导航时,控制台出现报错 ,虽然不影响功能使用,但也不能坐视不管. 解决 Vue 重复点击相同路由,出现 Uncaught (in promise) NavigationDuplica ...

  9. Avoided redundant navigation to current location

    在VUE中路由遇到Error: Avoided redundant navigation to current location:报错显示是路由重复, 虽然对项目无影响,但是看到有红的还是不舒服. 于 ...

最新文章

  1. 为何写flash的时候要地址左移一位?
  2. Spring Cloud Netflix项目进入维护模式之我见
  3. NLP技术中的Tokenization
  4. cp文件服务器,docker容器与物理机的文件传输—docker cp命令
  5. android菜单和对话栏,Android回顾--(十一) 菜单和对话框
  6. matlab盒子分形维数_分形:盒子维数
  7. Android学习笔记-判断手机外部存储是否可读写
  8. PHP中的中文截取乱码问题_gb2312_utf-8
  9. 一台服务器创建多个ssh_如何创建可用于生产的第一台安全服务器
  10. QGIS中如何加载identify
  11. linux windows死机,linux死机的处理方式
  12. C++组合数(combination)的实现
  13. iOS UIPageControl
  14. TCP之三:TCP/IP协议中backlog参数(队列参数)
  15. 软件测试教程视频入门基础篇-千锋出品
  16. 手工修复Win 7下彩影ARP防火墙驱动程序(适用于32/64位系统)
  17. 被“樊登读书”、“得到”与“混沌大学”围剿的创业者们
  18. 在线供应链服务平台方案:构建企业供应链平台业务、功能、技术管理架构
  19. java获取某年度有多少周_java获取一年共有多少周
  20. TensorFlow Serving 入门教程(Windows)

热门文章

  1. 【Laravel笔记】16. Cookie和Session
  2. 黑马程序员 — JAVA基础 — 内部类、异常
  3. 凯尔学院在课堂上向学生提供LiFi
  4. 西门子PLC1200学习之模拟量的使用
  5. html重叠图片滑动效果,CSS3/jQuery实现移动端滑动图片层叠效果
  6. PN结正向压降温度特性的研究
  7. 乔治亚理工学院计算机专业,佐治亚理工学院电子与计算机专业
  8. 广州市科学技术局关于开展2022年广州市科技计划项目验收工作的通知
  9. oracle中那个日期怎么相减_oracle日期时间加减规则
  10. 淘宝刷信用教程曝光:“一钻”售价仅为250元