el-menu结合动态渲染实现aside侧边栏

//el-menu定义菜单选项
//open :sub-menu 展开的回调
//close :sub-menu 收起的回调
//router 该模式会在激活导航时以 index 作为 path 进行路由跳转
//select 菜单激活回调
<el-menu  
        class="el-menu-vertical-demo"
        @open="handleOpen"
        @close="handleClose"
        :collapse="isCollapse"
        :collapse-transition="false"
        router
        @select="select"
      >
      /*
      aside  侧边栏的json数据
		*/
        <div v-for="(item, index) in aside" :key="index" >
        //注意,这里的index需要是字符串不然会报错
         //判断有没有子项有就展开子菜单没有就算一个菜单项
          <el-submenu v-if="item.children" :index="item.id + ''">
            //title是具名插槽
            <template slot="title">
              <i :class="item.icon"></i>
              <span>{{ item.title }}</span>
            </template>
            
            <div v-if="item.children">
              <el-menu-item-group
                v-for="(cItem, cIndex) in item.children"
                :key="cIndex + 'copy'"
              >
                <el-menu-item :index="cItem.path">
                  <i :class="item.icon"></i>{{ cItem.title }}</el-menu-item
                >
              </el-menu-item-group>
            </div>
          </el-submenu>
           <el-menu-item v-else :index="item.path">
                  <i :class="item.icon"></i>{{ item.title }}</el-menu-item
           >
        </div>
        <!-- 把侧边栏放到asidejson文件中,然后遍历取出来 -->
      </el-menu>

效果图:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开发路上的AZhe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值