zoukankan      html  css  js  c++  java
  • element-ui菜单导航的三种递归写法(二)

    1.创建一个侧边导航栏

    <div class="whr-side-menu">
        <menutree :menu="somenu"></menutree>
    </div>
    

    2.创建menutree这个组件

    <el-menu default-active="">
    <template v-for="循环一下数据,就不写了">
     <submenu index="" v-if="menu.children.length>0" :menu="menu.children">
           </submenu>
           <el-menu-item index="" v-else></el-menu-item>
    </template>      
    </el-menu>
    

    思想就是用一般创建类似树状数据结构的方法去创建这个menu,这样避免想第一种方式那个template在最外层进行循环。

    先把root,各节点渲染出来,然后再把里面的子节点递归渲染出来

    3.创建一个submenu组件

    <template>
        <el-submenu :index="index">
            <template slot="title">
                <i :class="menu.icon"></i>
                <span>{{menu.menu_name}}</span>
            </template>
            <template v-for="(item,index_0) in menu.children">
                <submenu v-if="item.children.length>0" :menu="item.children" :index="item.route" :key="index_0"></submenu>
                <el-menu-item v-else :index="item.route" :key="index_0" @click="addProcess(item)">
                    <i :class="item.icon"></i>
                    <span slot="title">{{item.menu_name}}</span>
                </el-menu-item>
            </template>
        </el-submenu>
    </template>
    

    如归子菜单还有子菜单,就一直渲染。

    这样子就大功告成!

    还有第三种方式,就是手写渲染!

  • 相关阅读:
    RocketMq总结(六) -- 顺序消息
    RocketMq总结(五) -- 消息队列负载均衡和再分配
    RocketMq总结(三) -- 消费者启动 MQClientInstance
    归并排序
    CMS垃圾收集器总结
    桶排序
    快速排序
    ThreadLocal的妙用
    NC_41 找最小的k个数
    RocketMq一条消息存储结构
  • 原文地址:https://www.cnblogs.com/chopin-1990/p/13602355.html
Copyright © 2011-2022 走看看