開始接觸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> 實現效果以下: