欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 前端技术 > vue >内容正文

vue

vue——vue-尊龙游戏旗舰厅官网

发布时间:2024/10/5 vue 28 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 vue——vue-router的push和replace方法[uncaught (in promise) error]尊龙游戏旗舰厅官网的解决方案 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在升级了vue-router版本到到3.1.0及以上之后,页面在跳转路由控制台会报uncaught (in promise) error的问题 

https://github.com/vuejs/vue-router/releases 

v3.1.0版本里面新增功能:push和replace方法会返回一个promise, 你可能在控制台看到未捕获的异常

解释:没有捕获异常。 

方法一: 检查代码

1、首先检查router.js中的路由path和name是否有误

2、查看main.js中的路由beforeeach导航守卫的路由跳转是否写错。

方法二:回退版本

在项目目录下运行

npm i vue-router@3.0 -s

将vue-router改为3.0版本即可; 

方法三:捕获异常

1、在调用方法的时候用catch捕获异常 

this.$router.replace({ name: 'foo' }).catch(err => {console.log('all good') })

2、对router原型链上的push、replace方法进行重写,这样就不用每次调用方法都要加上catch。

这个方法是vue-router的issues里面的一位大佬解决的

// 解决vue-router升级导致的uncaught(in promise) navigation guard问题 const originalpush = vuerouter.prototype.push vuerouter.prototype.push = function push (location, onresolve, onreject) {if (onresolve || onreject) return originalpush.call(this, location, onresolve, onreject)return originalpush.call(this, location).catch(err => err) }

 replace方法同上

// 解决vue-router升级导致的uncaught(in promise) navigation guard问题 const originalreplace = vuerouter.prototype.replace vuerouter.prototype.replace = function replace (location, onresolve, onreject) {if (onresolve || onreject) return originalreplace.call(this, location, onresolve, onreject)return originalpush.call(this, location).catch(err => err) }

 

https://blog.csdn.net/haidong55/article/details/100939076

https://forum.vuejs.org/t/topic/97260

https://www.cnblogs.com/xinheng/p/13019818.html

https://blog.csdn.net/shicily/article/details/102668403

https://blog.csdn.net/sunrj_niu/article/details/106902138

https://blog.csdn.net/jone_hui/article/details/107411530

https://blog.csdn.net/qq_37875903/article/details/107494973

https://segmentfault.com/q/1010000019723749

总结

以上是尊龙游戏旗舰厅官网为你收集整理的vue——vue-router的push和replace方法[uncaught (in promise) error]尊龙游戏旗舰厅官网的解决方案的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

网站地图