swiper闪屏
发布于 6 年前 作者 cma 12787 次浏览 来自 问答

swiper闪屏,闪的很快,不是每次都能出现!时好时坏,最近才发现的问题,这是什么原因!

<scroll-view  class=‘main-banner’>

        <swiper style=“height: 100%;” autoplay=‘true’  current="{{swiperCurrent}}" circular=“true” bindchange=“swiperChange”>

            <block wx:for="{{bannerUrl}}" wx:key="{{this}}">

                <swiper-item>

                    <image src="{{item.bannerImageUrl}}" mode=“scaleToFill”  class=‘img-res’></image>

                </swiper-item>

            </block>

        </swiper>

    </scroll-view>

8 回复

@LastLeaf    好的,谢谢你的悉心指导~

@LastLeaf      哦,那我把这段删了,就可以了吧

swiperChange: function (e) {

        var that = this

        that.setData({

            swiperCurrent: e.detail.current

        })

    }

求教怎么解决了,setData是需要的啊,设置图片下方轮播圆点的样式更换。

@LastLeaf   恩,又在onshow里重置了swiperCurrent

swiperChange: function (e) {

        var that = this

        that.setData({

            swiperCurrent: e.detail.current

        })

    }

onShow: function () {

        var that = this

        that.setData({

            swiperCurrent: ‘0’

        })

    }

你好,是不是在change的事件处理函数中用setData更新了current?

swiperChange的那段是不必要的。

这段逻辑会做两件事:

  1. 将this.data.swiperCurrent改为e.detail.current

  2. 通知视图更新swiper的current值

主要是第1点:你要看看你的代码中是不是要读this.data.swiperCurrent,要不然会有影响。

哪位大神知道这是什么情况,帮忙指导一下…

回到顶部