vue切换路由控制台报错,Uncaught (in promise)

前言:写代码有点洁癖,看见这种影响美观的报错无法忍受

跳转 vue-router 中同样的路由会报错,不同路由不会提示

经了解,此问题解决方式如下

  1. 删除你项目下的依赖 node_modules 文件夹,重新初始化 cnpm / npm install(个人理解是更新部分依赖的版本,但有网友遇到依赖更新后版本没有发生变化,和之前报错版本无差)
  2. 单独升级vue-router的版本,cnpm / npm i vue-router@3.0 -S,(我的默认升级到3.0.7)
  3. 在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)
    }

     

报错原因:

是因为 vue-router ≥3.0 的版本回调格式改为promise,若没有捕获到错误,控制台会出现此类报错警告

这个问题在 GitHub中 vue-router 版本迭代 中已被修复!

特此记录 !

若理解有误,请各位指点

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值