vue tab切换

<!-- 交互的逻辑
1==》如何实现 点击当前的那个菜单 给被点击的元素添加样似
@click="getclcik(index)" 记录当前被点击的元素的下标
:class="{active:cur==index} 如果匹配成功,则给这个元素添加一个类active

2==》如何只显示 点击下标与之对应的内容
v-show="cur==index" 对应匹配

原地址==》https://www.jianshu.com/p/52441745d769

复制代码
<style>
            ul li {
                margin: 0;
                padding: 0;
                list-style: none;
            }

            #app {
                width: 600px;
                height: 400px;
                margin: 0 auto;
                border: 1px solid #ccc;
            }

            .tab-tilte {
                width: 90%;
            }

            .tab-tilte li {
                float: left;
                width: 25%;
                padding: 10px 0;
                text-align: center;
                background-color: #f4f4f4;
                cursor: pointer;
            }

            /* 点击对应的标题添加对应的背景颜色 */
            .tab-tilte .active {
                background-color: #09f;
                color: #fff;
            }

            .tab-content div {
                float: left;
                width: 25%;
                line-height: 100px;
                text-align: center;
            }
        </style>
复制代码

 

复制代码
        <div id="app">
            <!-- 推荐这种写法-->
            <ul class="tab-tilte">
                <li v-for="(title,index) in tabTitle" @click="getclcik(index)" :class="{active:cur==index}">{{title}}</li>
            </ul>
            
            <div class="tab-content">
                <div v-for="(m,index) in tabMain" v-show="cur==index">{{m}}</div>
            </div>
        </div>
复制代码

 

复制代码
    var app = new Vue({
            el: '#app',
            data: {
                tabTitle: ['标题一', '标题二', '标题三', '标题四'],
                tabMain: ['内容一', '内容二', '内容三', '内容四'],
                cur: 0 //默认选中第一个tab
            },
            methods:{
              getclcik(value){
                 this.cur=value; 
              }    
            }
        })
复制代码

 

 

posted @   南风晚来晚相识  阅读(535)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示