前端实现动态路由vue

简介: 该代码实现了Vue动态路由功能,包含基础路由配置、路由守卫、动态添加路由及登录认证。用户登录成功后,将动态加载仪表盘路由组件,实现按需加载。

以上代码实现了Vue的动态路由功能,主要包含以下部分:

  1. 基础路由配置:定义了首页和登录页
  2. 路由守卫:在访问需要认证的路由前检查token
  3. 动态路由添加:在用户认证通过后动态添加仪表盘路由
  4. 登录组件:模拟登录过程并存储token

当用户登录成功后,系统会动态添加仪表盘路由,实现了路由的动态加载。



仪表盘


这是动态加载的路由组件





登录




import Vue from 'vue';
import VueRouter from 'vue-router';
import Home from './views/Home.vue';
import Login from './views/Login.vue';

Vue.use(VueRouter);

const routes = [
{
path: '/',
name: 'Home',
component: Home,
meta: { requiresAuth: true }
},
{
path: '/login',
name: 'Login',
component: Login
}
];

const router = new VueRouter({
mode: 'history',
routes
});

// 路由守卫
router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth) {
const token = localStorage.getItem('token');
if (!token) {
next({ name: 'Login' });
} else {
// 动态添加路由
if (!router.hasRoute('Dashboard')) {
router.addRoute({
path: '/dashboard',
name: 'Dashboard',
component: () => import('./views/Dashboard.vue'),
meta: { requiresAuth: true }
});
}
next();
}
} else {
next();
}
});

export default router;

目录
相关文章
|
SQL 前端开发 API
关于ElementUI之动态树+数据表格+分页实例
关于ElementUI之动态树+数据表格+分页实例
978 0
Threejs实现天空盒,全景场景,地面草地
Threejs实现天空盒,全景场景,地面草地
2356 0
Threejs实现天空盒,全景场景,地面草地
|
存储 数据采集 安全
通过filebeat、logstash、rsyslog采集nginx日志的几种方式
由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器。而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集nginx的日志进行有效的分析成为大家关注的问题。本文通过几个实例来介绍如何通过filebeat、logstash、rsyslog采集nginx的访问日志和错误日志。
1461 0
|
缓存 JavaScript 前端开发
vue-router学习二:动态路由(路由传递数据的一种方式),路由懒加载,嵌套路由,路由传递参数方式,导航守卫,keep-alive标签
这篇文章主要介绍了Vue Router的高级用法,包括动态路由、路由懒加载、嵌套路由、路由参数传递、导航守卫以及keep-alive的使用。
1170 0
vue-router学习二:动态路由(路由传递数据的一种方式),路由懒加载,嵌套路由,路由传递参数方式,导航守卫,keep-alive标签
|
监控 网络协议 Nacos
Nacos:构建微服务架构的基石
Nacos:构建微服务架构的基石
1202 3
|
JavaScript 小程序 API
UniApp X:鸿蒙原生开发的机会与DCloud的崛起之路·优雅草卓伊凡
UniApp X:鸿蒙原生开发的机会与DCloud的崛起之路·优雅草卓伊凡
1020 12
UniApp X:鸿蒙原生开发的机会与DCloud的崛起之路·优雅草卓伊凡
|
人工智能 监控 算法
卷不过AI就驯服它!AI训练师速成攻略
这是一篇关于AI训练师职业的全面指南。文章从“驯服AI”的理念出发,将AI训练师比作“幼儿园老师”,详细描述了该职业的工作内容、入行技能要求、成长路径及工作日常。新手可以从基础的数据标注做起,逐步学习Python、数学知识和工具使用,通过三年计划实现职业进阶。文中还分享了摸鱼技巧、崩溃与高光时刻,以及避坑建议和未来转型方向。无论是在电商公司给商品打标签,还是训练医疗AI辅助诊断,这个职业都充满挑战与机遇。最后鼓励大家主动拥抱变化,把AI变成自己的左膀右臂,而非竞争对手。
3907 3
|
JavaScript
Vue3代码展示(vue-codemirror)
`vue-codemirror`插件为Vue应用提供了一个强大的代码编辑器组件,支持代码高亮、自定义样式、暗黑模式等特性。通过简单的配置即可实现丰富的代码编辑体验。安装依赖后,创建`CodeMirror.vue`组件并在目标页面中使用即可。
3136 1
Vue3代码展示(vue-codemirror)
el-table复选框全部勾选以及勾选回显
el-table复选框全部勾选以及勾选回显
2134 0
Three添加天空盒子
这篇文章详细说明了如何在Three.js中添加天空盒(Skybox)以增强3D场景的真实感和沉浸体验。
916 6
Three添加天空盒子