请稍等 ...
×

采纳答案成功!

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

[Vue Router warn]: No match found for location with path

图片描述
1、基于角色的权限,动态添加 “私有路由” ,登陆后默认进入 “个人中心”
2、点击切换到 “员工管理”
3、点击浏览器刷新按钮,然后控制台会出现:[Vue Router warn]: No match found for location with path "/user/manage"
4、这个警告还在router.beforeEach(全局导航守卫)之前发出,好像都没办法打断点定位在哪一步抛出来的警告。 怎么定位这个警告,以及有什么解决方案?

11104
收起

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

4回答

慕先生3223357 2022-12-05 13:51:18

如果当前路由是动态追加的,beforeEach 第一次执行的时候,这个路由还没追加进去,那么路由的 matched 为空,就会报这个警告。

解决办法参见https://segmentfault.com/q/1010000041657273/a-1020000042515957

其实就是把router/index.js中关于404的那段

{
  : : : () => ()
}

改成这样

0 回复 有任何疑惑可以回复我~
阿阳2017 2022-07-31 16:32:21

同样遇到这样的问题,只要是动态路由,刷新页面后,就会出现这样的警告。希望有进一步解答。

0 回复 有任何疑惑可以回复我~
  • Sunday #1
    对应该问答:https://coding.imooc.com/learn/questiondetail/273182.html
    
    这个问题还是得查看具体的代码才可以定位问题的,现在只能猜测。
    你可以在给我一个你的代码 git 地址,我查看原代码找一下问题
    回复 有任何疑惑可以回复我~ 2022-07-31 19:21:28
  • 这个问题解决了吗?
    回复 有任何疑惑可以回复我~ 2022-11-25 14:57:44
weixin_慕函数4116338 2022-07-29 16:05:33

老哥 你会了吗  我也有这个问题


0 回复 有任何疑惑可以回复我~
Sunday 2022-03-18 17:02:43

你好

这个错误表示没有找到 /user/manage 的路由。但是我看你的截图发现其实已经进入到这个路由中了。

所以我猜测问题是:

1. 在动态路由表添加之前,路由访问过一次  /user/manage (出现警告)

2. 在动态路由表添加之后,路由又访问了一次  /user/manage 

所以问题的关键就在于 为什么动态路由添加前会访问。而这个问题可能性就很多了,可能需要代码进行具体调试才可以。

0 回复 有任何疑惑可以回复我~
  • 是的,动态路由刷新页面后就会报这个警告
    回复 有任何疑惑可以回复我~ 2022-07-26 07:51:52
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信