用到的关键字如下:
class
:class
current
:current
bindchange
@change
circular
是否实现无限滑动 true/false
skip-hidden-item-layout
轮播图性能的优化 true/false
附上源码:
<template>
<div class="wraper">
<div class="container">
<div class="section-two">
<div class="tab">
<a :class="currentTab=='0'?'nav active': 'nav'" data-current="0" @click="switchTab('switchTab',$event)">门诊服务</a>
<a :class="currentTab=='1'?'nav active': 'nav'" data-current="1" @click="switchTab('switchTab',$event)">住院服务</a>
<a :class="currentTab=='2'?'nav active': 'nav'" data-current="2" @click="switchTab('switchTab',$event)">综合服务</a>
</div>
<swiper class="cont" @change="switchItem('switchItem',$event)" :current="currentTab" circular="true" skip-hidden-item-layout="true">
<swiper-item><div class="item">A</div></swiper-item>
<swiper-item><div class="item">B</div></swiper-item>
<swiper-item><div class="item">C</div></swiper-item>
</swiper>
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
currentTab: "0",
}
},
components: {
},
methods: {
switchTab: function (prompt,res) {
// console.log(prompt,res);
let oIndex = res.mp.currentTarget.dataset.current;
this.currentTab = oIndex;
},
switchItem: function (prompt,res) {
// console.log(prompt,res.mp.detail.current);
let oIndex = res.mp.detail.current;
this.currentTab = oIndex;
}
},
}
created () {
}
</script>
<style scoped>
.container {
flex: 1;
}
/*第二功能模块*/
.section-two {
width: 100%;
height: auto;
overflow: hidden;
background-color: #fff;
}
/*轮播图导航 */
.tab {
width: 100%;
height: 90rpx;
box-sizing: border-box;
padding: 20rpx 0 20rpx;
display: flex;
align-items: center;
border-bottom: 1rpx solid #ebebeb;
}
.nav {
text-align: center;
flex: 1;
font-weight: 600;
box-sizing: border-box;
}
.nav:nth-of-type(odd) {
border-left: 1rpx solid #ebebeb;
border-right: 1rpx solid #ebebeb;
}
.nav.active {
color: #16cc80;
}
/*轮播图内容*/
.cont {
width: 100%;
height: 520rpx;
padding-top: 25rpx;
font-size: 28rpx;
}
.cont swiper-item {
width: auto;
height: 100%;
background-color: #5fd9a6;
border: 1rpx solid #ebebeb;
text-align: center;
font-size: 50rpx;
box-sizing: border-box;
}
</style>