Vue router / Element 重复点击导航路由报错解决方法

写 Vue 项目中,使用 Element-ui 重复点击导航路由会报错,报错信息如下:

虽然此报错并不会影响项目运行,但是作为一个强迫症的码农的确受不了error,解决方法如下:


方法①:把项目依赖的 node_modules 文件夹删除, 然后再 npm install 重新下载依赖包,如果安装的 vue-router 还是之前出错的那个版本,在项目目录下运行 npm i vue-router@3.0 -S 重新下载未出错版本即可;

提示:vue-router 官方在 2019-08-06 推出的 vue-router@3.1.1 已经修复了此 bug,目前安装 3.1.1 以上的 vue-router 版本既可解决此报错。

备注:官方上确实展示目前版本已修复了此问题,不知为何有些高版本的vue-router还是会报错,这种情况下建议大家采用方法二,即可解决此问题。


方法②:不需要更换 vue-router 的版本亦可,在 main.js 或 router.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);
}

如有更好的解决方案,欢迎留言指正!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值