代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="../Vue/vue.js"></script>
<link href="https://cdn.bootcss.com/animate.css/3.7.2/animate.css" rel="stylesheet">
<title>Document</title>
<style>
#box{
width: 201px;
height: 200px;
border: 1px solid black;
margin: 0 auto;
}
h3{
text-align: center;
margin: 0 auto;
margin-top:50px;
}
.cont{
justify-content: space-around;
display: flex;
border-bottom: 1px solid black
}
.active{
background-color:royalblue;
color: white;
}
span{
font-size: 18px;
width: 33%;
line-height: 40px;
height: 40px;
text-align: center;
background-color:lightblue
}
</style>
</head>
<body>
<h3>Tips</h3>
<div id="box">
<div class="cont">
<span v-for="(item,index) in titles" @click="change(index)" :class="{'active':index===curIndex}">{{item}}</span>
</div>
<transition enter-active-class="animated jackInTheBox" leave-active-class="animated hinge" mode="out-in">
<component v-bind:is="com[curIndex]" ></component>
</transition>
</div>
<script>
new Vue({
el:"#box",
data:{
curIndex:0,
com:[
{template:"<div>汽车之家汽车之家汽车之家</div>"},
{template:"<div>遨游太空遨游太空遨游太空</div>"},
{template:"<div>侠盗飞车侠盗飞车侠盗飞车</div>"},
],
titles:["one","two","three"]
},
methods:{
change(index){
this.curIndex= index;
}
},
})
</script>
</body>
</html>