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

 更新时间:2023年10月08日 11:17:15   作者:木木子子水水心心  
我自己使用addRoutes动态添加的路由页面,使用router-link标签可以跳转,但是一刷新就会自动跳转到我定义的通配符 * 指向的404路由页面,这说明没有找到指定路由才跳到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路由的问题的文章就介绍到这了,更多相关vue 使用addRoutes动态添加路由内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Vue2项目中使用Mock.js的详细教程

    在Vue2项目中使用Mock.js的详细教程

    Mock.js 是一个用于生成随机数据和拦截 Ajax 请求的 JavaScript 库,它非常适合在前端开发中模拟后端 API,尤其是在前后端分离的开发模式下,本文给大家介绍了如何在Vue2项目中使用Mock.js,需要的朋友可以参考下
    2024-10-10
  • vue3生命周期原理与生命周期函数简单应用实例分析

    vue3生命周期原理与生命周期函数简单应用实例分析

    这篇文章主要介绍了vue3生命周期原理与生命周期函数,结合简单实例形式分析了vue3的生命周期基本原理、以及各个阶段的生命周期钩子函数功能、使用技巧与相关注意事项,需要的朋友可以参考下
    2023-04-04
  • vue+SpringBoot使用WebSocket方式

    vue+SpringBoot使用WebSocket方式

    WebSocket是一种全双工通信协议,通过HTTP升级机制建立连接,支持实时双向数据传输,示例代码展示了如何在Java Spring Boot和Vue.js中实现WebSocket服务和客户端
    2025-02-02
  • vue完美实现el-table列宽自适应

    vue完美实现el-table列宽自适应

    这篇文章主要介绍了vue完美实现el-table列宽自适应,对vue感兴趣的同学,可以参考下
    2021-05-05
  • Vue自定义指令使用方法详解

    Vue自定义指令使用方法详解

    这篇文章主要为大家详细介绍了Vue自定义指令的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • vscode中Vue别名路径提示的实现

    vscode中Vue别名路径提示的实现

    这篇文章主要介绍了vscode中Vue别名路径提示的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vue 封装自定义组件之tabal列表编辑单元格组件实例代码

    vue 封装自定义组件之tabal列表编辑单元格组件实例代码

    这篇文章主要介绍了vue 封装自定义组件tabal列表编辑单元格组件实例代码,需要的朋友可以参考下
    2017-09-09
  • 栽Vue3中传递路由参数的三种方式

    栽Vue3中传递路由参数的三种方式

    vue 路由传参的使用场景一般都是应用在父路由跳转到子路由时,携带参数跳转,传参方式可划分为 params 传参和 query 传参,本文将给大家介绍如何通过不同方式在 Vue 3 中传递路由参数,需要的朋友可以参考下
    2024-07-07
  • Props传参v-for后TS报错对象类型是unknow的解决方案

    Props传参v-for后TS报错对象类型是unknow的解决方案

    这篇文章主要介绍了Props传参v-for后TS报错对象类型是unknow的解决方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03
  • vue3中的render函数里定义插槽和使用插槽

    vue3中的render函数里定义插槽和使用插槽

    这篇文章主要介绍了vue3中的render函数里定义插槽和使用插槽方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论