当前位置: 首页 > Web前端 > vue.js

vuerouter-element项目重复点击路由报错

时间:2023-03-31 21:16:02 vue.js

在做vue+element-ui项目时,重复点击导航路由报错。报错信息如下:虽然不影响使用,但问题还是要解决。于是,查了下文档,发现在vue-router的文档中有这么一段话,传送门→即:vue-router@3.1.0之后,回调函数返回一个promise。所以如果没有捕获到错误,则不会有回调函数,错误信息会交给全局路由错误处理,所以控制台会一直有如上所示的错误。源码如下:SO......第一种解决方法:将vue-router的版本降到@3.1.0以下npmivue\-router@3.0\--S第二种方法:在router.push捕获异常时this.$router.push(path).catch(err=>err)这种方法虽然会多写几行代码,但是相比第一种方法不会受到固定版本的限制。第三种方法:禁用全局路由错误处理,在router/index.js中添加如下代码://router/index.js文件constoriginalPush=VueRouter.prototype.pushVueRouter.prototype.push=functionpush(location){returnoriginalPush.call(this,location).catch(err=>err)}//如果路由是router.place,方法相同。综上,推荐使用第三种方法,如果这种方法还是不能解决问题,只能使用方法二或者固定版本在3.1.0以下。

猜你喜欢