解决Vue-Router升级导致的Uncaught (in promise)问题
在升级了Vue-Router版本到到3.1.0及以上之后,页面在跳转路由控制台会报Uncaught 的问题看vue-router的版本V3.1.0版本里面新增功能:push和replace方法会返回一个promise, 你可能在控制台看到未捕获的异常vue-router使用$router.push()跳转页面时,页面挂起进入debug模式,提示“Uncaught undefined”,断点进入Uncaught undefined,未捕获的promise,因为应用程序实际上没有生成任何错误。它只是一个导航,在beforeEnter钩子中生成重定向Vue-router >= 3.1.0 版本在使用 push 和 replace 进行跳转时控制台会抛出异常,其主要原因是 vue-router 3.1.0 版本以后 router.push 返回了 promise ,而当路由跳转异常时便会抛出错误,此前版本没有报错是因为 vue-router 根本没有返回错误信息,所以之前我们一直无法捕获异常,而并非异常不存在。
下载地址
用户评论