原因:vue router升级到3.0之后,回调返回的是一个promise
解决方法:
1.将版本退回到3.0之前(不推荐)
npm i vue-router@3.0 -S
2.补齐 router.push() 的第三个参数
this.$router.push(route, () => {}, (err) => {
console.log('输出报错',err)
})
3.全局添加vue-router回调(推荐)
//在引入vue-route的js文件(一般main.js)
import Router from 'vue-router'
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}