加载更多电影数据的事件触发多次是bug吗?

来源:21-7 实现下拉刷新数据

暴躁的代码

2017-04-17

加载更多数据的时候,onScrollLower事件可能被加载多次,导致一次性加载了许多重复的数据,这个在真机上运行也会有问题吗,我用的和老师不同的方法。

代码如下:

//在page之外定义了 var movies = [];

//这样就可以将新的数据追加到data.movies之后

 processDoubanData:function(movieData){

        for(var i in movieData.subjects){

            var subject = movieData.subjects[i];

            //processs title

            var title = subject.title;

            if(title.length>=6){

                title = title.substring(0,6)+"...";

            }

            //processs star

            var temp = {

                stars:subject.rating.stars,

                title:title,

                average:subject.rating.average,

                coverageUrl:subject.images.large,

                movieId:subject.id

            }

            movies.push(temp);  

        }

        this.data.totalCount += 20;//累加请求的数据

        this.setData({

          movies:movies

        });

        wx.hideNavigationBarLoading();

  }, 

  onReady: function () {

    // 页面渲染完成

    //动态设置导航条

    wx.setNavigationBarTitle({

      title: this.data.navigateTitle,

      success: function (res) {

        // success

      }

    })

  },


写回答

3回答

Peggy7

2017-05-10

我也遇到了这个问题 且各种找答案无果 最后自己试出来一个办法 将lower-threshold属性设为0或者1或者很小的值,就可以只加载一次 因为小程序更新后lower-threshold的默认值是50 超过50之后就会多次触发 希望答案有用

1
1
暴躁的代码
非常感谢!
2017-05-19
共1条回复

7七月

2017-04-17

这个问题,我抽时间好好的看一下。

1
0

7七月

2017-04-17

上滑加载更多的这个,之前的scroll-view是没有问题的。后来由于版本更新为了解决一个问题,所以更改成了使用view组件,而不是使用scroll-view,请参考知乎的文章,把scroll-view改为view。

0
1
暴躁的代码
@七月老师 那个下拉刷新的是可以这样解决, 但是下滑更新20条数据那,如果在滚动条重置之前,手速快一点,多下滑几次,就会加载重复的数据到页面,和之前那个触摸事件被触发多次的bug很像,这个问题在真机上是可以无视的吗,或者有其他什么方法呢
2017-04-17
共1条回复

微信小程序入门与实战(全新版) 超20000人学习的好课

4年同步微信官方迭代,累计20000+人学习, 比微信官方更火爆!

23865 学习 · 6899 问题

查看课程