vue-router.esm.js?8c4f:1905 TypeError: Cannot read property ‘$route‘ of undefined

**场景:页面刷新出现空白,控制台报错:

vue-router.esm.js?8c4f:1905 TypeError: Cannot read property ‘$route’
of undefined

**
首先打开百度搜了一圈,很多说是语法错误,路由嵌套里面,子路由的component多了一个s。但我这里的问题都不是,一开始以为是token刷新后消失了没有保存,后来定位到了是导航守卫的问题。

代码中用到了路由导航守卫:
vue-router.esm.js?8c4f:1905 TypeError: Cannot read property ‘$route‘ of undefined_第1张图片
翻看官方文档
vue-router.esm.js?8c4f:1905 TypeError: Cannot read property ‘$route‘ of undefined_第2张图片
官方文档中对于beforeEnter的介绍,并没有看到我想要的结果。但是我往下看,貌似看到了,应该就是this的问题了,于是注释掉了else中的第一个if代码
vue-router.esm.js?8c4f:1905 TypeError: Cannot read property ‘$route‘ of undefined_第3张图片

vue-router.esm.js?8c4f:1905 TypeError: Cannot read property ‘$route‘ of undefined_第4张图片
刷新成功了。
记录一下吧,顺便算是给需要的人提供另一种思路吧

你可能感兴趣的:(Vue,vue.js)