vue上拉分页

export default {
  name: 'Posts',
  data () {
    return {
      show: true,
      loadding: true,
      oss: '',
      posts: [],
      page: 1,
      hasMore: 0
    }
  },
  created() {
    window.addEventListener('scroll', this.onScroll)
  },
  mounted () {
    this.getResult()
  },
  methods: {
    getResult () {
      this.oss = this.$global.oss
      this.$axios.post('/').then(response => {
        let data = response.data
        this.loadding = false
        if(data.status == 200) {
          this.posts = data.data.list
          this.hasMore = data.data.hasmore
        } else if (data.status == 4040) {
          this.show = false
        } else {
          this.$weui.toast(data.msg)
        }
      }).catch(error => {
        this.$weui.toast(error)
      })
    },
    onScroll() {
      let windowHeight = document.documentElement.clientHeight
      let scrollHeight = document.documentElement.scrollHeight
      let scrollTop = document.documentElement.scrollTop
      if (scrollHeight == (windowHeight + scrollTop)) {
        if (this.hasMore == 1) {
          this.page = parseInt(this.page) + 1
          this.$axios.post('/', {page: this.page}).then(response => {
            let data = response.data
            if(data.status == 200) {
              console.log(data)
              this.posts = [...this.posts, ...data.data.list]
              this.hasMore = data.data.hasmore
            } else {
              this.$weui.toast(data.msg)
            }
          }).catch(error => {
            this.$weui.toast(error)
          })
        }
      } 

      ///console.log(windowHeight +'----'+scrollHeight+'-----' + scrollTop)
    }
  }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值