<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#card{
width: 500px;
height: 350px;
}
.title{
height:50px;
}
.title span{
width: 100px;
height: 50px;
background-color:#666;
display: inline-block;
line-height: 50px; /* 设置行和当前元素的高度相等,就可以让文本内容上下居中 */
text-align:center;
}
.content .list{
width: 500px;
height: 300px;
background-color: deepskyblue;
display: none;
}
.content .active{
display: block;
}
.title .current{
background-color: deepskyblue;
}
</style>
<script src="js/vue.js"></script>
</head>
<body>
<div id="card">
<div class="title">
<span @click="num=0" :class="change(0)">国内新闻</span>
<span @click="num=1" :class="change(1)">国际新闻</span>
<span @click="num=2" :class="change(2)">银河新闻</span>
</div>
<div class="content">
<div class="list" :class="change(0, 'active')">国内新闻列表</div>
<div class="list" :class="change(1, 'active')">国际新闻列表</div>
<div class="list" :class="change(2, 'active')">银河新闻列表</div>
</div>
</div>
<script脚本代码>
var card = new Vue({
el:"#card",
data:{
num: 0,
},
methods: {
change(data, style="current") {
if (this.num == data) {
return style
}
}
}
});
</script脚本代码>
</body>
</html>