首页 > 解决方案 > 动态路线,但不是传统意义上的路线

问题描述

我想知道是否有一种方法可以根据数据库中的数据动态生成路由?

目前,我在路由文件中定义我的路由,然后将其导入我的 vue 项目。有没有一种方法可以将特定配置存储在数据库中,例如路径、名称、元数据,然后当应用程序加载时,根据用户的身份验证级别,为该用户创建路由?

我要求创建而不是使用带有参数的预先编写的路由的原因是因为我想让我的用户(在将来的某个时候)能够从我的系统创建他们自己的页面。

所以只是想从社区知道是否有一种方法可以基于 axios 调用或其他东西来做到这一点?

标签: vue.jsvue-router

解决方案


我认为从技术上讲,您最好使用title具有公共前缀的参数并仅查找该标题。从理论上讲,拥有一个任何人都可以创建任何页面的完全动态的应用程序听起来不错……直到有人决定使用“登录”作为页面名称并覆盖您自己的登录组件,从而使该应用程序无法使用。

也就是说,您可以使用router.addRoutes动态添加路由到您的路由器。使用静态路由(例如您的主页、登录页面、404 页面)创建一个路由器,然后基于 api 调用扩展您的路由器。


推荐阅读