使用到了
v-for 遍历生成每个li
v-show 隐藏 是display:‘none’
@click绑定事件 添加单击事件切换Tab栏
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
ul {
list-style: none;
}
#app{
width: 398px;
margin: 100px auto;
}
li{
float: left;
width: 98px;
height: 42px;
border: 1px solid red;
border-right: 0;
text-align: center;
line-height: 42px;
cursor: pointer;
}
.content{
width: 395px;
height: 140px;
border: 1px solid red;
border-top: 0;
display: block;
}
.active{
background: #FF4400;
color: #fff;
}
.clearfix::after{
content: '';
display: block;
height: 0;
clear: both;
}
</style>
</head>
<body>
<div id="app">
<!-- 清除浮动 -->
<ul class="clearfix">
<li v-for="(item,index) in list" :key="index" :class="{active:!(index-menuIndex)}" @click="menuShow(index)" :style="{borderRight: (item.length+1 === index ? borderRight :0)}">{{item}}</li>
</ul>
<div class="content" v-show="menuIndex===0">
手机
</div>
<div class="content" v-show="menuIndex===1">
美食
</div>
<div class="content" v-show="menuIndex===2">
电脑
</div>
<div class="content" v-show="menuIndex===3">
衣服
</div>
</div>
</body>
<script src="node_modules/vue/dist/vue.min.js"></script>
<script>
var el = new Vue({
el:'#app',
data(){
return{
menuIndex: 0,
list:['手机','美食','电脑','衣服'],
borderRight:'1px solid red'
}
},
methods:{
menuShow(index){
this.menuIndex = index;
// console.log(index);
}
}
})
</script>
</html>