路由跳转警告beforeRouteEnter未知?

项目开发中遇到一个奇怪的问题。

<router-link :to='`/community/user/${$userinfo.getUserID()}/home`'>xxx</router-link> 
//   $userinfo.getUserID()是从本地中获取数据,实现路由跳转,类似于跳转到segmentfault的个人主页

如果第一次进入个人主页,出现报错:

TypeError: Cannot read property 'beforeRouteEnter' of undefined

第二次进入个人主页,不报错。

操作:
1、怀疑是beforeRouteEnter引用的this报错,全局查看,未使用beforeRouteEnter,并且关闭所有路由代码,依然报错。
2、第二次进入个人主页不报错,怀疑是缓存问题,读取本地数据存在时间延迟,修改路由

<router-link :to='`/community/user/example-router/home`'>xxx</router-link> 

依然报错。
3、尝试跳转其他路由

<router-link :to='`/community/setup`'>xxx</router-link> 

显示正常

然后怀疑是个人主页出现问题。关闭个人主页所有代码。依然报错...


额,这咋么解????

阅读 3.5k
1 个回答
:to='`/community/user/${$userinfo.getUserID()}/home`'

你这写法没见过,一般这种情况不都是

<router-link :to="{path: '/detail/' + this.$route.params.id}" >
<router-link :to="{ name: 'detail', params:{ id: this.$route.params.id }}" >

这样吗,你写法有问题
对象里面可以直接写data里的变量

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进