swiper 组件加载大图片问题?
发布于 4 年前 作者 lyu 7373 次浏览 来自 官方Issues

这个页面是详情页面。进入页面之后,白屏,一闪一闪的。不是大图片就没问题

<swiper class="screen-swiper" bindchange="swiperchange" current="{{currentIndex}}"  circular="true" autoplay="true" interval="5000" duration="500">
   <swiper-item wx:for="{{imglist}}" wx:key bindtap="HandleImgClick"
                data-urls="{{imglist}}" data-currenturl="{{item}}">
       <image src="{{item}}" mode="aspectFill" lazy-load></image>
   </swiper-item>
</swiper>

按照网上的,加了下面这个:

swiperchange: function (detail) {
console.log(detail.detail.source)
var type = detail.detail.source;
 if (type == "touch" || type=="autoplay") {
//当页面卡死的时候,current的值会变成0
   if(detail.detail.current == 0){
//有时候这算是正常情况,所以暂定连续出现3次就是卡了
     let swiperError = this.data.swiperError;
     swiperError += 1;
     this.setData({swiperError: swiperError });
     if (swiperError >= 3) { //在开关被触发3次以上
       this.setData({ currentIndex: this.data.preIndex });//,重置current为正确索引
       this.setData({swiperError: 0})
}
}else {//正常轮播时,记录正确页码索引
     this.setData({ preIndex: detail.detail.current });
     //将开关重置为0
     this.setData({swiperError: 0})
}
}
},

还是有问题

1 回复

大图片是什么?不会是那种10M多的图片吧

回到顶部