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

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


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

 

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;
}
}
})

vue tab切换_微信

 

 

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。

作者:晚来南风晚相识

如果文中有什么错误,欢迎指出。以免更多的人被误导。