后台管理系统

通用后台管理

侧边栏的展开与收起

主要是通过两个 CommonAside 和CommonHeader 组件进行实现,其中 CommonAside是对侧边栏进行显示,CommonHeader则是有个按钮来控制对侧边栏的展开与收起,所以需要进行组件间的通信,通过 vuex来进行实现

下载vuex 的依赖

npm i vuex

然后在main.js 文件进行引入。

具体实现步骤

1.首先创建一个store文件夹,里面放入 index.js 进行设置,管理state
通过模块modules定义,定义的模块要进行引入
(1)定义的modules第一个模块,tab.js的内容

export default{
    state:{
        //初始状态 ,默认展开
        isCollapse:false  
    },
    mutations:{
        // 用来定义改变state的方法 同步状态
        // 此时的state就是接收的上面的
        CollapseManu(state){
            // 对原先的状态进行取反
            state.isCollapse = !state.isCollapse
        }

    }
}

(2)在store文件夹下的index.js进行引入

export default new Vuex.Store({  //对外进行暴露
  // 通过模块定义,分成两个模块
  modules: {
    // 引入tab模块
    tab
  }
})

2 在页面中拿到定义的state
(1)首先将原先定义在CommonAside.vue组件中的data里面的isCollapse进行注释,然后在计算属性尽心处理,得到全局定义的isCollapse 的状态

 // 在计算属性里面进行拿到数据
    isCollapse() {
      // this.$store 是全局定义过的,然后state 是index.js的,在tab指的是里面的tab模块中的isCollapse
      return this.$store.state.tab.isCollapse;
    },
<!-- 此时写在标签里面的就是计算属性里面用到的函数-->
 <el-menu
    :collapse="isCollapse"
  >

3 改变isCollapse 的状态,也就是当点击按钮的时候,将当前的isCollapse 进行取反,按钮是在CommonHeader文件里面

此时的逻辑是 首先给按钮绑定一个点击事件 @click=“handleMenu”

然后在js进行处理

 methods: {
    handleMenu() {
      // 此时通过 commit 拿到 mutations中的 CollapseManu 方法
      this.$store.commit("CollapseManu");
    },
  },

此时存在一个问题,就是在进行显示和隐藏的时候,导致顶部的文字换行显示,很丑

  <!-- 判断 isCollapse 是否存在 ,存在代表是收起的状态,将名字改为 后台,不存在展开状态,正常显示 -->
    <h3>{{ isCollapse ? "后台" : "通用后台管理系统" }}</h3>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值