分页获拉取下一页数据
function loadNextPageData(self, callball) {
if (window.IntersectionObserver) {
const options = {
root: null,
threshold: 0
}
const handleIntersect = (entries, observer) => {
entries.forEach(async (entry) => {
if (entry.isIntersecting || entry.intersectionRatio || entry.isIntersecting === undefined) {
self.requesting = true
if (self.requesting && self.count > 0) {
self.requesting = false
self.pageIndex += 1
await callball(self.pageIndex)
self.requesting = true
} else {
self.isLoading = true // 不显示
self.noMore = true // 加载到最后一页无数据了
observer.unobserve(entry.target)
}
}
})
}
const observer = new IntersectionObserver(handleIntersect, options)
if (!self.isLoading) observer.observe(self.$refs.loading.$el.firstChild)
}
}