动态加载数据时创建IntersectionObserver观察器
发布于 5 年前 作者 na65 15017 次浏览 来自 问答

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:动态获取数据,创建观察是否有其他好的方法?谢谢。

回到顶部