Uncaught (in promise) TypeError: Cannot read property '_normalized' of undefined(Vue中使用$router报错)
具体如下:
Uncaught (in promise) TypeError: Cannot read property '_normalized' of undefined
at normalizeLocation (vue-router.esm.js?8c4f:969)
at Object.match (vue-router.esm.js?8c4f:1491)
at VueRouter.match (vue-router.esm.js?8c4f:2850)
at HTML5History.transitionTo (vue-router.esm.js?8c4f:2144)
at HTML5History.push (vue-router.esm.js?8c4f:2519)
at eval (vue-router.esm.js?8c4f:2950)
at new Promise (<anonymous>)
at VueRouter.push (vue-router.esm.js?8c4f:2949)
at VueComponent.activated (Home.vue?76f2:16)
at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
出错原因:
使用this.$router.push(this.path)报错 虽不影响结果 但是有个红叉 得改
解决办法:router下的index.js添加push重写
const routerPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
return routerPush.call(this, location).catch(error=> error)
}
完美解决问题:
参考:https://blog.youkuaiyun.com/qq_41768748/article/details/104564437