Vue 项目路由 + Layout 的最佳实践

文章目录

    • [一、Layout 的真正职责](#一、Layout 的真正职责)
    • [二、推荐的 Layout 结构](#二、推荐的 Layout 结构)
    • [三、路由如何选择 Layout?](#三、路由如何选择 Layout?)
    • [四、Layout 中只做三件事](#四、Layout 中只做三件事)
    • [五、为什么 Layout 一定要放在路由层?](#五、为什么 Layout 一定要放在路由层?)
    • [六、多 Layout 场景实战](#六、多 Layout 场景实战)
    • [七、Layout + 权限的组合优势](#七、Layout + 权限的组合优势)
    • 八、小结

如果你发现:

  • 页面里充满 Header / Sidebar
  • 登录页和业务页结构混在一起
  • 一个页面换布局要改一堆代码

那说明:Layout 没设计好

一、Layout 的真正职责

一句话总结:

Layout 负责页面结构,不负责业务。

二、推荐的 Layout 结构

txt 复制代码
layouts/
├── MainLayout.vue
├── BlankLayout.vue
├── AdminLayout.vue

三、路由如何选择 Layout?

ts 复制代码
{
  path: '/',
  component: MainLayout,
  children: [...]
}

登录页:

ts 复制代码
{
  path: '/login',
  component: BlankLayout,
  children: [...]
}

四、Layout 中只做三件事

  1. 页面结构
  2. 插槽
  3. 通用 UI(Header / Footer)
vue 复制代码
<template>
  <Header />
  <router-view />
</template>

五、为什么 Layout 一定要放在路由层?

因为这样可以:

  • 动态切换布局
  • 权限与布局解耦
  • 路由层表达页面结构

六、多 Layout 场景实战

ts 复制代码
{
  path: '/admin',
  component: AdminLayout,
  children: adminRoutes
}

不同角色看到不同布局,不用改页面代码

七、Layout + 权限的组合优势

  • Layout 控制"长什么样"
  • Router 控制"能不能进"
  • 页面只关心业务

八、小结

Layout 是 UI 骨架,Router 是应用骨架。

这两个分清楚,项目可维护性直接上一个台阶。

相关推荐
我是永恒9 小时前
上架一个跨境工具导航网站
前端
电子羊9 小时前
Spec 编程工作流文档
前端
GISer_Jing9 小时前
从CLI到GUI桌面应用——前端工程化进阶之路
前端·人工智能·aigc·交互
还是大剑师兰特10 小时前
Vue3 报错:computed value is readonly 解决方案
前端·vue.js
leaves falling10 小时前
有效的字母异位词
java·服务器·前端
We་ct10 小时前
LeetCode 35. 搜索插入位置:二分查找的经典应用
前端·算法·leetcode·typescript·个人开发
左耳咚10 小时前
Claude Code 中的 SubAgent
前端·ai编程·claude
FPGA小迷弟10 小时前
高频时钟设计:FPGA 多时钟域同步与时序收敛实战方案
前端·学习·fpga开发·verilog·fpga
IT古董10 小时前
【前端】企业级前端调试体系设计(含日志埋点 + Eruda 动态注入 + Sentry)
前端·sentry
gis开发10 小时前
cesium 中添加鹰眼效果
前端·javascript