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 是应用骨架。

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

相关推荐
电梯界知识分子1 分钟前
江西抚州临川九尊府五层别墅:受限楼梯间里,全黑铝合金观光井道配曳引龙门架的落地记录
大数据·前端·网络·算法·家用电梯
晴天1628 分钟前
Web 页面内存溢出与 CPU 溢出:区别、诊断与最佳实践
前端·javascript
摸鱼仙人~35 分钟前
需求深度分析提示词-grill me
前端·chrome
Highcharts.js39 分钟前
常见报错排雷指南3:兼容性问题的官方解法
前端·javascript·react.js·可视化·highcharts·报错解法
雪芽蓝域zzs1 小时前
第三十六节:keep-alive 页面缓存(Vue3 + 后台管理系统)
前端·vue.js·缓存
言乐61 小时前
Python加速器2视频网页加速器
前端·javascript·css·python·音视频
边境悍匪1 小时前
蜗牛学苑 Java 智能体学习 Day41|ElementPlus 布局、Vue‑Router 登录、Axios 思维导图复盘
java·vue.js·学习
IT_陈寒1 小时前
为什么我的Java Stream操作总是默默吃掉异常?
前端·人工智能·后端
志尊宝1 小时前
Vue3 零基础每日笔记(017):事件处理进阶——$event、多事件与事件修饰符全家桶
javascript·vue.js·笔记
光影少年2 小时前
react navite浏览器 Event Loop 和 Node Event Loop 的区别
前端·javascript·react native·react.js·前端框架