分页请求下一条数据

分页获拉取下一页数据

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)
  }
}
posted @ 2020-02-20 16:43  duqianqian  阅读(268)  评论(0编辑  收藏  举报