zoukankan      html  css  js  c++  java
  • vue移动端 上拉加载组件实现

    <template>
    <div>
    <slot></slot>
    <div>
    <template v-if="page > totalpage">没有更多数据~</template> // 没有更多数据
    <template v-else>正在加载!
    </template>
    </div>
    </div>
    </template>
    <script>
      export default {
        props: {  
    page:{ // 传值 ,当前页面,总页数,上拉调用的方法
    type: Number,
    default: 1
    }, //页面
    totalpage: {
    type: Number,
    default:1
    }, //总页数
    update:null, //上拉要调用的函数
        }
    created(){
    window.addEventListener('scroll', this.disposeScroll); //监听滚动条
    },
    beforeDestroy(){ //离开
    window.removeEventListener('scroll', this.disposeScroll); // 离开是后清除监听
    },
    methods: {
      
    disposeScroll(){ 
    if(this.page > this.totalpage){ return} // 如果当前大于总页数,也就是最后一页,那么就不不触发了
    let top = window.pageYOffset  
    || document.documentElement.scrollTop
    || document.body.scrollTop
    || 0; // 获取滚动条垂直的位置
    if(top + window.innerHeight >= document.body.clientHeight){ //如果滚动条的位置加上窗口的高度大于可见的窗口可见的高度,那么也就是滚动条到低了
    this.$emit('update') // 执行update方法
    }
    }

    }

      }
    </script>
     
    父页面
    <template>
    <slide-load :page="page" :totalpage="totalPage" @update="updeList">
      <div>
        <ul>
          <li></li>
        </ul>
      </div>
    </slide-load>
    </template>

    <script>
      
    import slideLoad from 'sliderLoad.vue' // 引用
    components:{ //注册组件
    slideLoad
    },
    methods: {
      getData() { //初始化数据
               
    this.totalPage = res.dataWrapper.total
    if (this.page === 1) {
    this.blocksList = res.dataWrapper.blocks //数据列表
    } else {
    this.blocksList = [...this.blocksList, ...res.dataWrapper.blocks] // 追加数据
    }
        获取数据
      },
      updeList() { // 上拉执行
          this.page++ 
          this.init() // 获取数据

      }
    }
    </script>
     
    怎么获取数据,大家应该都是会的,大家自己看一下重要的步骤已经标记出来了,写的不全,没发复制运行,
  • 相关阅读:
    专题三--1005
    专题三--1009
    专题三--1017
    背包九讲
    专题三--1003
    专题三--1004
    专题三--1015
    [洛谷P1220]关路灯
    [洛谷P1776]宝物筛选
    [USACO14JAN]Recording the Moolympics
  • 原文地址:https://www.cnblogs.com/weisuoyuwei/p/12505037.html
Copyright © 2011-2022 走看看