Vue实现递归menu

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <style>
    #app{
        width: 300px;
        overflow: hidden;
    }
    .item{
         margin-left: 30px;
         /* padding-left: 30px; */
         width: 100%;
         
            
    }
    .name {
        background-color: pink;
        border-bottom: 1px solid #333;
        cursor:pointer;
    }
     .name:hover{
         background-color: orange;
     }
    </style>
</head>

<body>
    <div id="app">
          <list :menus="menus"></list>
    </div>
    <template id="list">
        <div>
            <div v-for="(item,index) in menus" :key="index" class="item">
                <div class="name">{{item.name}}</div>
                <child v-if="item.children" :child="item.children"></child>
            </div>
        </div>
    </template>
    <template id="child">
        <div>
            <list :menus="child"></list>
        </div>
    </template>
    <script src="vue.js"></script>
    <script>
    Vue.component("list", {
        props: ['menus'],
        template: "#list",
    })
    Vue.component("child", {
        props: ['child'],
        template: "#child",
    })
    var vm = new Vue({
        el: "#app",

        data: {
            menus: [{
                name: "经济",
                children: [{
                    name: "如家",
                    children: [{
                        name: "上江路-如家"
                    }, {
                        name: "望江路-如家"
                    }]
                }, {
                    name: "7天",
                    children: [{
                        name: "长江路-7天"
                    }, {
                        name: "望江路-7天"
                    }]
                }]
            }]
        },
        mounted: function() {

        },
        method: {

        }
    })
    </script>
</body>

</html>
复制代码

 

posted @   奔跑的太阳花  阅读(512)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示