首页 > 其他分享 >Vue2和ElementUI编写的无限级菜单路由

Vue2和ElementUI编写的无限级菜单路由

时间:2023-04-24 18:15:01浏览次数:36  
标签:el 菜单 name ElementUI menu2 Vue2 path 路由 icon

Vue2和ElementUI编写的无限级菜单路由

文章转载自:www.javaman.cn

<template>
  <div>
    <el-menu :default-active="$route.path" class="el-menu-vertical-demo" :collapse="isCollapse" router>
      <template v-for="item in menuList">
        <el-submenu v-if="item.children" :index="item.path">
          <template slot="title">
            <i :class="item.icon"></i>
            <span slot="title">{{ item.name }}</span>
          </template>
          <template v-for="child in item.children">
            <el-menu-item :index="child.path">{{ child.name }}</el-menu-item>
          </template>
        </el-submenu>
        <el-menu-item v-else :index="item.path">
          <i :class="item.icon"></i>
          <span slot="title">{{ item.name }}</span>
        </el-menu-item>
      </template>
    </el-menu>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isCollapse: false, // 是否折叠菜单
      menuList: [
        {
          name: '首页',
          path: '/',
          icon: 'el-icon-s-home'
        },
        {
          name: '菜单1',
          path: '/menu1',
          icon: 'el-icon-menu',
          children: [
            {
              name: '菜单1-1',
              path: '/menu1-1'
            },
            {
              name: '菜单1-2',
              path: '/menu1-2'
            }
          ]
        },
        {
          name: '菜单2',
          path: '/menu2',
          icon: 'el-icon-menu',
          children: [
            {
              name: '菜单2-1',
              path: '/menu2-1'
            },
            {
              name: '菜单2-2',
              path: '/menu2-2',
              children: [
                {
                  name: '菜单2-2-1',
                  path: '/menu2-2-1'
                },
                {
                  name: '菜单2-2-2',
                  path: '/menu2-2-2'
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
</script>

复制
在这个例子中,我们使用了el-menu和el-submenu组件来实现无限级菜单。menuList数组中存储了菜单的数据,包括菜单的名称、路径和图标等信息。如果一个菜单有子菜单,我们使用el-submenu组件来展示它的子菜单,否则使用el-menu-item组件来展示它本身。我们还使用了Vue Router来实现路由跳转。

在实际项目中,我们可以将菜单数据存储在后端数据库中,通过API来获取菜单数据,并动态生成菜单。这样可以更加灵活地管理菜单,同时也方便后续的维护和扩展。

标签:el,菜单,name,ElementUI,menu2,Vue2,path,路由,icon
From: https://www.cnblogs.com/dalaba/p/17350382.html

相关文章

  • ElementUI: Uncaught (in promise) cancel 报错
    场景:使用element confirm组件时,点击【取消】按钮,提示错误 Uncaught(inpromise)cancel 代码如下:open(){this.$confirm('此操作将永久删除该文件,是否继续?','提示',{confirmButtonText:'确定',cancelButtonText:'取消',......
  • Vue2入门之超详细教程七-事件处理
    1、简介事件的基本使用:(1)使用v-on:xxx或者@xxx绑定事件,其中xxx是事件名(2)事件的回调需要配置在methods对象中,最终会在vm上(3)methods中配置的函数,不要用箭头函数!否则this就不是vm了(4)methods中配置的函数,都是被Vue所管理的函数,this指向是Vm或......
  • elementui 多图上传限制数量隐藏加号
    参考:https://blog.csdn.net/qq_41555695/article/details/93491140完整的elementui多图上传组件<template><el-upload:action="MixinUploadAllApi":headers="headers"list-type="picture-card":file-list="fileL......
  • Django4全栈进阶之路9 url路由设置
    在Django4中,可以在主路由文件中设置和管理子路由。通常,我们会为每个应用程序创建一个子路由文件,以便更好地组织代码和管理路由。以下是Django4中设置主路由和子路由的示例:首先,在主路由文件urls.py中导入子路由,并将其添加到urlpatterns中:#urls.pyfromdjango.urls......
  • vue2源码-十三、nextTick在哪里使用?原理是什么?
    nextTick在哪里使用?原理是什么?nextTick内部采用了异步任务进行包装(多个nextTick调用会被合并成一次,内部会合并回调)最后在异步任务中批处理。主要应用场景就是异步更新(默认调度的时候就会添加一个·nextTick任务)用户为了获取最终的渲染结果需要在内部任务执行之后再执行用户逻......
  • silicon zigbee下一跳路由选择过程
    1.如果是发送给自己的信息,则调用回环接口发送2.如果自己是enddevice,则把信息发送给父节点3.如果目标节点是我们的子节点,直接转发到子设备(如果子节点是关闭接收的enddevice,则缓存在mac队列里直到子节点下一次轮询消息)4.如果目标节点存在路由表里(路由信息可能来自路由发现或者......
  • 向着Vue3进发,Vue2.7升级指南
    北京时间7月1号,Vue2.7正式发布,Vue2.7支持你的项目在不升级Vue3的情况下使用Vue3的特性,例如CompositionApi、setup、Cssv-bind等。与此同时,Vue2.7也是Vue2.X的最终次要版本,在这个版本之后,Vue2将进入LTS(长期支持),即从现在开始持续18个月,Vue2将不再接收新功能。对于一些老项目来说......
  • django生命周期和路由层
    django生命周期https://www.yuque.com/liyangqit/cbndkh/evyps8django路由层1.路由匹配 django2.X及以上path第一个参数写什么就匹配什么 django1.X第一个参数是正则表达式 无论什么版本django都自带加斜杠后缀的功能也可以取消 配置文件中APPEND_SLASH=False#默......
  • Vue 项目安全扫描漏洞,JS 库版本太低,要求升级 YUI(vue2 升级javascript库)【检测到目标站
    原帖:https://blog.csdn.net/u012961419/article/details/130016341背景公司信安部门对项目进行安全扫描,查出一些漏洞,其中有一项要求升级javascript框架库(如图): 吓得我以为让我把Vue2升级成Vue3。经过一番询问后才知道,是工具包中依赖的YUI是存在安全漏洞的版本。漏洞定......
  • 静态路由和动态路由
    静态路由实验背景静态路由(英语:Staticrouting),一种路由的方式,路由项(routingentry)由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由网络管理员逐项加入路由表。静态路由的优点:运行稳定,节省设备链......