news 2026/2/12 6:37:39

Vue——路由与导航篇之 路由设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue——路由与导航篇之 路由设计

Vue3 + Vite 项目技术博客 - 路由与导航篇

技术栈与环境

  • 前端框架: Vue 3.2+
  • 路由管理: Vue Router 4+
  • 构建工具: Vite 4+
  • UI 组件库: Element Plus
  • 状态管理: Pinia 2+
  • 开发语言: JavaScript/ES6+
  • 运行环境: Node.js 16+
  • HTTP 客户端: Axios (用于权限验证等)

背景问题:
需要实现单页面应用的路由管理。

方案思考:
使用 Vue Router 4+ 进行路由配置和管理。

具体实现:

// router/index.jsimport{createRouter,createWebHistory}from'vue-router'importLayoutfrom'@/layout/index.vue'// 静态路由 - 不需要权限的路由exportconstconstantRoutes=[{path:'/login',name:'Login',component:()=>import('@/views/login/index.vue'),meta:{title:'登录'}},{path:'/404',name:'NotFound',component:()=>import('@/views/error/404.vue'),meta:{title:'页面不存在'}},{path:'/',component:Layout,redirect:'/dashboard',children:[{path:'dashboard',name:'Dashboard',component:()=>import('@/views/dashboard/index.vue'),meta:{title:'首页',icon:'House'}}]}]// 异步路由 - 需要权限的路由exportconstasyncRoutes=[{path:'/user',component:Layout,redirect:'/user/list',meta:{title:'用户管理',icon:'User',roles:['admin']},children:[{path:'list',name:'UserList',component:()=>import('@/views/user/list.vue'),meta:{title:'用户列表',roles:['admin']}},{path:'add',name:'UserAdd',component:()=>import('@/views/user/add.vue'),meta:{title:'添加用户',roles:['admin']}}]}]constrouter=createRouter({history:createWebHistory(),routes:constantRoutes,scrollBehavior:()=>({left:0,top:0})})exportdefaultrouter

路由配置工具:

// utils/router.js// 动态路由处理工具exportclassRouterUtils{// 根据角色过滤路由staticfilterRoutes(routes,roles){constres=[]routes.forEach(route=>{consttmp={...route}if(hasPermission(roles,tmp)){if(tmp.children){tmp.children=this.filterRoutes(tmp.children,roles)}res.push(tmp)}})returnres}// 检查路由权限statichasPermission(roles,route){if(route.meta&&route.meta.roles){returnroles.some(role=>route.meta.roles.includes(role))}else{returntrue}}// 获取路由参数staticgetRouteParams(route){return{path:route.path,name:route.name,meta:route.meta,query:route.query,params:route.params}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 19:42:21

2026必备!10个AI论文平台,自考毕业论文轻松搞定!

2026必备!10个AI论文平台,自考毕业论文轻松搞定! AI 工具,让论文写作不再难 随着人工智能技术的不断发展,越来越多的自考学生开始借助 AI 工具来提升论文写作效率。尤其是在当前 AIGC(人工智能生成内容&…

作者头像 李华
网站建设 2026/2/5 3:29:07

Java企业级风控实战:对接天远多头借贷行业风险版API构建信贷评分引擎

重构信贷风控的“数据防线” 在银行、持牌消金及大型互金平台的信贷审批流程中,Java 承载着核心的业务逻辑。面对日益隐蔽的“多头共债”人群,仅靠央行征信往往难以覆盖高频的小额网贷记录。业务系统需要一个能够实时量化借款人“饥渴度”的外部探针。 天…

作者头像 李华
网站建设 2026/2/5 14:58:04

模型微调速成班:基于云端的个性化风格迁移教程

模型微调速成班:基于云端的个性化风格迁移教程 作为一名平面设计师,你是否曾想过将自己的作品风格"注入"AI模型,让它帮你快速生成符合个人审美的设计稿?传统方法需要面对PyTorch复杂的参数调整和GPU环境配置&#xff0c…

作者头像 李华
网站建设 2026/2/7 12:17:03

基于 注解 + 配置类 的方式 整合三层架构组件

项目创建 practice-ioc 最终项目结构依赖导入 这里的依赖没有版本号&#xff0c;是因为已经在父工程的 dependencyManagement 统一管理版本了 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0&qu…

作者头像 李华
网站建设 2026/2/6 23:20:23

突破性能极限:如何用Z-Image-Turbo预置镜像实现2K高清输出

突破性能极限&#xff1a;如何用Z-Image-Turbo预置镜像实现2K高清输出 对于专业摄影师而言&#xff0c;将AI生成图像用于商业图库是一个极具吸引力的方向&#xff0c;但大多数模型在高分辨率输出时面临质量不稳定、生成速度慢等问题。Z-Image-Turbo预置镜像通过创新的8步蒸馏技…

作者头像 李华