美文网首页Vue
vue 使用addRoutes动态添加路由 刷新页面跳转404路

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

作者: 木木子子水水心心 | 来源:发表于2019-03-07 10:04 被阅读89次

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

    官方使用方法及说明 点我

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

    遇到的问题:

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

    我的默认路由是这样子的(这是还没处理后端路由的公共路由也就是谁都有的路由):
    <font color=red>在使用addRoutes之前我就定义了,通配符 * 跳转到404页面如下图: 这就是问题所在。
    解决方法是 不要再路由中添加404页面 在addRoutes里进行拼接 (通配符 * 跳转到404页面的路由)(也就是动态添加红色框中的内容)</font>

    下边有详细代码:


    在这里插入图片描述

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

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


    在这里插入图片描述

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


    在这里插入图片描述

    相关文章

      网友评论

        本文标题:vue 使用addRoutes动态添加路由 刷新页面跳转404路

        本文链接:https://www.haomeiwen.com/subject/uqbqpqtx.html