vue2.0實現tab效果

開始接觸vue,最近工做須要實現一個tab選項卡效果。在網上看到的方法都是把tab的每一個卡作成一個組件,可是感受這樣的話組件分的很細。後來經過下面的方法實現了。html

<!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>

實現效果以下:

clipboard.png

clipboard.png

相關文章
相關標籤/搜索