当前位置: 首页 > news >正文

Layout 组件 + Store 模块的双层架构:关注点分离如何在中后台落地

前端架构的终极考题

"关注点分离"这四个字谁都听过,但到了实际项目里,最常见的两个问题:

  1. 组件之间怎么通信才能不互相依赖?
  2. 状态怎么划分才能不"一个文件 500 行"?

这套经典中后台模板的 Layout 组件 + Store 模块架构,把两个问题一次性回答了。这篇文章拆解它的联动机制。

第一条链路:折叠侧边栏——三个组件的协作方式

侧边栏折叠是 Layout 里最基础的交互:用户点 Navbar 上的 hamburger 按钮 → 侧边栏收起 → 主内容区变宽。这个动作涉及三个组件,但没有一对是直接通信的

触发方:Navbar 里的 hamburger 按钮

<!-- Navbar.vue --><hamburger:is-active="sidebar.opened"@toggleClick="toggleSideBar"/>
methods:{toggleSideBar(){this.$store.dispatch('app/toggleSideBar')// 就这么一行。没有 this.$emit,没有 this.$parent}}

Navbar 不知道 Sidebar 的存在。它知道的只有:用户点了 hamburger → dispatch 一个 action。至于这个 action 会引起什么连锁反应,Navbar 不关心。

状态中枢:app module

// store/modules/app.jsconststate={sidebar:{opened:true,withoutAnimation:false}}constmutations={TOGGLE_SIDEBAR(state){state.sidebar.opened=!state.sidebar.opened state.sidebar.withoutAnimation=false
http://www.cnnetsun.cn/news/3176146.html

相关文章:

  • 彻底搞懂RAG技术原理、落地流程与工程优化
  • 智能体内存架构设计:从原理到实践,构建具备长期记忆的AI助手
  • 从全连接层到Transformer FFN:3种网络结构图的演进与绘制要点
  • 3步实现Windows 10/11完美运行经典老游戏:dxwrapper兼容性解决方案完全指南
  • 基于FOC的无刷电机驱动方案设计与实现
  • Prometheus 告警静默:静默不是把问题关掉
  • 谈谈 IT 软件开发工程师 基本功
  • HR面试整理记录:2026年3款视频关键信息工具,高效出面试纪要
  • Leiden 算法 Python 实战:3步解决 Louvain 社区不连通问题(附代码)
  • 如何用uesave轻松解锁Unreal引擎游戏存档编辑?终极指南
  • Databricks SQL可扩展工作流:从慢查询到稳定数据服务
  • 如何用Rust开源工具uesave轻松编辑Unreal引擎游戏存档?终极指南来了!
  • 3步解决Deforum扩展安装与使用难题:从零到动画生成的完整指南
  • NumPy常用函数
  • ReActor:Stable Diffusion中最快的AI换脸插件,3步实现专业级人脸替换
  • InstructGPT 论文阅读笔记
  • Android存储清理终极指南:如何用SD Maid 2/SE让手机重获新生
  • RCNN vs YOLO 架构对比:从 3 个维度解析两阶段与单阶段检测器核心差异
  • 突破平台界限:Bottles如何让Linux用户无缝运行Windows软件生态
  • 【架构实战】金丝雀发布:灰度流量的精准控制与回滚
  • Jeepay开源支付系统深度解析:企业级分布式架构设计与生产部署最佳实践
  • WB实验管理:构建可追溯、可复用的机器学习实验体系
  • MLS点云道路标线自动化提取:基于PCL与OpenCV实现95%+准确率(附代码)
  • 线性回归落地七步闭环:从可控变量到业务可执行的因果模型
  • 深入深出openclaw:gateway代码实现阅读1
  • 西方形式主义认知范式泡沫化与贾子实践本位认知体系的替代性建构—— 基于多轮网络思辨对话文本的跨学科实证研究
  • 如何在浏览器中实现实时人体姿态搜索:pose-search完整指南
  • web应用技术作业10
  • 使用C++20 的协程创建通用的生成器
  • 从事编程工作这么多年,经常会有人问我什么样的程序是好程序