Open liukexina opened 4 years ago
利用createIntersectionObserver api 监听元素是否在显示在页面或者显示页面的距离{bottom\top\left\right}
this.createIntersectionObserver().relativeToViewport({bottom: 200}).observe('.noMore', (res) => {
if(res.intersectionRect.top > 0) {
const page = this.data.page;
this.setData({
page: page + 1,
['listData[' + page + ']']: this.properties.list.slice(page * 10, page * 10 + 10),
})
}
})
例如一个商品列表页,用户不断上滑加载数据,而每次加载数据时通常都是将获取的新数据和旧数据通过concat进行合并在一个数组内,导致后续setData数据越来越大