vue3+Ant Design Vue搭建后台管理Layout布局

效果图

划分一下区域

搭建Layout布局

页面

  1. 在src下面创建layout目录,这里面放置layout相关的页面组件(侧边栏、头部、主体部分等)。
  1. 各个模块
  • 我这里是把各个区域的页面按模块区分,在index.vue导入使用。

    layout/components

    • SideBar(侧边栏)
      • Logo(侧边栏Logo)
    • Content(主体部分)
    • Header(右侧头部)
    • Footer(右侧底部区域)

    ** layout/index.vue **

    ** layout/index.ts ** :这里统一导出模块

  • index.ts

  • index.vue

  • SideBar/index.vue

    • Logo组件就在这里面被使用了。因为Logo也是侧边栏的一部分。
  • Header/index.vue

  • Content/index.vue

  • Footer/index.vue

功能

点击动态收缩侧边栏

  1. 我们知道sider侧边栏 collapsed参数可以控制收起状态,我们给它绑定一个变量
  2. 点击icon的时候控制 sider侧边栏 collapsed参数绑定的变量即可。
  3. ?这时候我们会遇到问题,因为侧边栏和icon所在的header组件不在一个页面里面,那我们能在icon所在的页面控制到collapsed参数绑定的变量呢?
  4. 我这里采用的是Pinia状态管理来管理这个参数并且存入用户本地缓存。
  • 我们先来看一下我们控制侧边栏的icon所在的这个页面(在header/index.vue中。)

  • 方法中使用到了sidebar,我们可以看到是useAppStore里面暴露的,因为我使用了pinia。我们来看下useAppStore所在的文件 app.ts

  • 可以看到我这里引入了app-key 和 local-storage,这也分别对应两个ts文件,代码如下。

  • 这里我local-storagets也引用了一个别的文件,cache-key.ts

好了,现在简单来捋一下代码逻辑

  • 当存入了本地缓存,然后侧边栏那边collapsed参数绑定的计算属性就会监听到从而改变侧边栏收起、展开状态。
相关推荐
m0_73812072几秒前
应急响应——知攻善防蓝队靶机Web-1溯源过程
前端·网络·python·安全·web安全·ssh
未来之窗软件服务2 分钟前
浏览器开发CEF(二十一)C#浏览器 Promise模式调用——东方仙盟元婴期
前端·javascript·html·仙盟创梦ide·东方仙盟·东方仙盟vos智能浏览器
dyxal3 分钟前
块状Bootstrap:让金融时间序列“记忆”不丢失的魔法
前端·金融·bootstrap
华仔啊4 分钟前
深入理解 CSS 伪类和伪元素的本质区别
前端·css
HIT_Weston5 分钟前
64、【Ubuntu】【Gitlab】拉出内网 Web 服务:Gitlab 配置审视(八)
前端·ubuntu·gitlab
余生H8 分钟前
前端科技新闻(WTN-3)React v19 引发 Cloudflare 异常事件复盘 - 一次序列化升级,如何影响全球边缘网络?
前端·科技·react.js
HIT_Weston9 分钟前
62、【Ubuntu】【Gitlab】拉出内网 Web 服务:Gitlab 配置审视(六)
前端·ubuntu·gitlab
ID_1800790547312 分钟前
淘宝关键词搜索 API 系列 数据返回参考(附解析与实战)
java·服务器·前端
Hao_Harrision21 分钟前
50天50个小项目 (React19 + Tailwindcss V4) ✨| BackgroundSlider(背景滑块)
前端·typescript·react·vite7·tailwildcss
weixin_3077791328 分钟前
Jenkins Font Awesome API插件:现代化插件界面的图标引擎
开发语言·前端·自动化·jenkins