<swiper class="swiper-box" current="{{current}}" indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" @change="bannerChange"> <block wx:for="{{bannerData}}" wx:key="{{index}}"> <swiper-item @tap="clickBannerTo({{item}})"> <image src="{{item.image}}" class="slide-image" /> </swiper-item> </block> </swiper> data = { bannerData: [], // banner current: 0, indicatorDots: true, autoplay: true, interval: 3000, duration: 500, }
banner播放的当前图片,由current控制, 直接设置current="{{current}}", data里设置: current=0,
此时切换城市, banner切换, 切换时, 当前banner播放的图片的位置current 小于或等于 下一个banner播放的图片的总长度
则, 可以切换; 如果当前banner播放的图片的位置current 大于 下一个banner播放的图片的总长度, 则,切换后的banner不显示图片;
修改: 在swiper中绑定@change="bannerChange"
在methods中添加 bannerChange方法
bannerChange(e) {
this.current = e.detail.current
}