vue实现tab切换

需要弄类似tab切换的功能就是一个点击切换上一页下一页的页面 找到这个获得灵感

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Tabs</title>
    <style>
       .active{
        background: #eee;
       }
       .tabs{
        width: 200px;
        height: 20px;
        font:0;
        padding:0;
       }
       .li-tab{
        width: 50%;
        height: 100%;
        display:inline-block;
        text-align: center;
       }
       .divTab{
        width: 200px;height: 300px;
       }
    </style>
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <ul class="tabs">
        <li class="li-tab" v-for="(item,index) in tabsParam" 
        @click="toggleTabs(index)"
        :class="{active:index!=nowIndex}">{{item}}</li>
    </ul>
    <div class="divTab" v-show="nowIndex===0">我是tab1</div>
    <div class="divTab" v-show="nowIndex===1">我是tab2</div>
</div>
</body>
</html>
<script>
   var app=new Vue({
    el:'#app',
    data:{
        tabsParam:['tab1','tab2'],//(这个也可以用对象key,value来实现)
        nowIndex:0,//默认第一个tab为激活状态
    },
    methods:{
        toggleTabs:function(index){
            this.nowIndex=index;
        },
    }
   })
</script>

实现效果如下:

感谢原作者

https://segmentfault.com/a/1190000008939610

 

转载于:https://www.cnblogs.com/junwu/p/10559734.html

好的,下面是一个简单的 Vue 实现 tab 切换的示例: ```html <template> <div class="tab-container"> <ul class="tab-nav"> <li v-for="(tab, index) in tabs" :key="index" :class="{ active: currentTab === index }" @click="currentTab = index">{{ tab.title }}</li> </ul> <div class="tab-content"> <div v-for="(tab, index) in tabs" v-show="currentTab === index" :key="index">{{ tab.content }}</div> </div> </div> </template> <script> export default { data() { return { currentTab: 0, tabs: [ { title: 'Tab 1', content: 'This is the content of Tab 1' }, { title: 'Tab 2', content: 'This is the content of Tab 2' }, { title: 'Tab 3', content: 'This is the content of Tab 3' } ] } } } </script> <style> .tab-container { display: flex; flex-direction: column; width: 500px; } .tab-nav { display: flex; list-style: none; margin: 0; padding: 0; } .tab-nav li { margin-right: 10px; padding: 5px; cursor: pointer; border: 1px solid #ccc; } .tab-nav li.active { background-color: #ccc; } .tab-content { border: 1px solid #ccc; padding: 10px; } </style> ``` 这个示例中,我们使用了一个 `currentTab` 变量来记录当前选中的 tab,然后使用 `v-for` 循环渲染出每个 tab 的标题和内容。标题部分使用一个 ul 和若干个 li 元素来展示,而内容部分则使用若干个 div 元素,并通过 `v-show` 指令来控制哪个内容块显示。在点击某个 tab 标题时,我们通过 `@click` 事件来更新 `currentTab` 的值,从而切换到对应的内容。 以上是一个简单的 Vue 实现 tab 切换的示例,你可以在此基础上根据自己的需求进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值