收藏
回答

动态加载数据时创建IntersectionObserver观察器

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.createIntersectionObserver() 工具 6.7.1 2.25

onReachBottom分页请求到数据后,在setData的回调函数中,创建当前数据的观察无效!


that.setData({

       covers: addCovers,

}, function () {

        console.log("触底请求渲染成功")

        var covers = that.data.covers

        for (let i in covers) {

        if (!covers[i].ifShow){

        console.log("当前元素不存在观察", i, covers[i])

        wx.createIntersectionObserver().relativeToViewport({ top: 20, bottom: 20 }).observe('.observeIndex-' + i, (ret) => {

        console.log("触底创建观察成功", ret, ret.dataset.id, i, covers[i])

        if (ret.intersectionRatio > 0) {

        covers[i].ifShow = true

} else {

// covers[i].ifShow = false

}

})

that.setData({ // 更新数据

covers

})

}

}

})



如上代码,for循环中的创建观察不生效。


PS:动态获取数据,创建观察是否有其他好的方法?谢谢。

最后一次编辑于  2018-12-02
回答关注问题邀请回答
收藏