请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

刷新页面后路由消失,查看获取到的路由表却是正常的

图片描述
图片描述
我这里改为了只要跳转就获取下用户最新的用户信息,但刷新页面后却报未查询到匹配路由,改成return next(to.path)就陷入了死循环,不知道是哪里的问题,请老师帮我看下为什么

正在回答 回答被采纳积分+3

1回答

Sunday 2021-12-17 10:54:34

你好

因为 vuerouter 中的 addRoute 机制问题,我们动态添加路由之后,需要再次进行一次主动的跳转:

https://img1.sycdn.imooc.com//szimg/61bbfbe7098420a911670765.jpg


0 回复 有任何疑惑可以回复我~
  • 提问者 电皮皮 #1
    我改成这样后就会出现下面的问题:
    访问首页路径报警告然后页面进入不了:
    vue-router.esm-bundler.js?6c02:72 [Vue Router warn]: Detected an infinite redirection in a navigation guard when going from "/" to "/profile". Aborting to avoid a Stack Overflow. This will break in production if not fixed.
    访问其他路径则一直在进入不断地进入不断地调用actions,进入无限循环的状态
    回复 有任何疑惑可以回复我~ 2021-12-17 11:02:34
  • Sunday #2
    这是说你在进入profile的时候陷入了死循环,原因应该是你没有加if判断的问题。你可以试下增加if是否获取到用户信息的判断。只在第一次设置路由后next(to.pat),之后next(),就像我截图的代码一样。
    回复 有任何疑惑可以回复我~ 2021-12-17 11:06:56
  • 提问者 电皮皮 回复 Sunday #3
    哦哦,明白了,谢谢老师。但是这里我有个新疑问,如果用户登陆后还没过期的这段时间里,后端把用户禁了或者菜单发生了变化,这个时候前端要怎么获取这个变化并进行处理呢
    回复 有任何疑惑可以回复我~ 2021-12-19 20:35:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信