失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > vue 使用addRoutes动态添加路由 刷新页面跳转404路由的问题

vue 使用addRoutes动态添加路由 刷新页面跳转404路由的问题

时间:2024-07-14 16:20:33

相关推荐

vue 使用addRoutes动态添加路由 刷新页面跳转404路由的问题

在做vue项目时需要使用后端给的路由权限,处理路由动态添加到路由上,几经查找在 vue-Router中有个router.addRoutes 的方法。

官方使用方法及说明 点我

router.addRoutes函数签名:router.addRoutes(routes: Array<RouteConfig>)动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数组。

遇到的问题:

我自己使用addRoutes动态添加的路由页面,使用router-link标签可以跳转,但是一刷新就会自动跳转到我定义的通配符 * 指向的404路由页面。这说明没有找到指定路由才跳到404路由的。

我的默认路由是这样子的(这是还没处理后端路由的公共路由也就是谁都有的路由):

在使用addRoutes之前我就定义了,通配符 * 跳转到404页面如下图: 这就是问题所在。

解决方法是 不要再路由中添加404页面 在addRoutes里进行拼接 (通配符 * 跳转到404页面的路由)(也就是动态添加红色框中的内容)

下边有详细代码:

beforeEach中打印 to发现是404 打印from显示是/

这样子更可以确定 当页面一刷新 addRoutes 还没有添加上 路由就开始跳转了 所以找不到路由就跳转到404页面了。

在网上找了许久发现是 不能在自己写的路由里边添加404 要在addRoutes中添加404页面不然就会跳转404 所以我把代码改成下面这个样子 最后添加路由的 通配符 * 跳转404 页面果然好了

如果觉得《vue 使用addRoutes动态添加路由 刷新页面跳转404路由的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。