下载插件  npm install vue-scroller -D

引入插件:

import Vue from 'vue'
import VueScroller from 'vue-scroller'
Vue.use(VueScroller) demo
<template>
    <div>
        <scroller :on-refresh="refresh" :on-infinite="infinite" no-data-text="加载完成" refresh-text="下拉刷新" ref="my_scroller">
            <div v-for="(item, index) in items" @click="onItemClick(index, item)" class="row" :class="{'grey-bg': index % 2 == 0}">
                <p>序号:{{index+1}}</p>
                <p>昵称:{{ item.nikename }}</p>
                <p> 时间:{{ item.createTime }}</p>
            </div>
        </scroller>
    </div>
</template> <script>
    import { getaa } from '@/api/api';     export default {
        data() {
            return {
                items: [],
                pageSize: 10,
                pageNo: 1,
                maxpage: 1,
                counts: 0
            }
        },
        mounted() { },         methods: {
            getDate(offset, fn) {
                var _this = this;
                var params = {
                    page: this.pageNo,
                    limit: this.pageSize,
                    sidx: "",
                    order: ""
                };
                getaa(params).then(res => {
                    var data = res.data.page.list;
                    _this.counts = res.data.page.totalCount;
                    var n = res.data.page.totalCount;
                    var m = _this.pageSize;
                    if(n % m > 0) {
                        _this.maxpage = parseInt(n / m) + 1;
                    } else {
                        _this.maxpage = parseInt(n / m);
                    }
                    if(_this.pageNo > _this.maxpage) {
                        fn(true);
                        return;
                    } else {
                        if(fn) fn();
                        this.items = this.items.concat(data);
                    }
                })             },
            infinite(done) {
                this.pageNo++; //每当向上滑动的时候就让页数加1
                setTimeout(() => {
                    this.getDate(this.pageNo, done);
                }, 1500)             },
            refresh(done) {
                //这是向下滑动的时候请求最新的数据
                this.pageNo = 1;
                setTimeout(() => {
                    this.items = [];
                    this.getDate(this.pageNo, done);
                }, 1500)             },             onItemClick(index, item) {
                console.log(index)
            }
        }
    }
</script> <style>
    @import url("../../assets/css/style.css");
    .row {
        padding: 20px;
        border-bottom: 1px solid red;
    }
</style>

最新文章

  1. 两个已排序数组进行合并后的第K大的值--进军硅谷
  2. 转载:[AngularJS系列] 那伤不起的provider们啊~ (Provider, Value, Constant, Service, Factory, Decorator)
  3. BZOJ3631[JLOI2014]松鼠的新家 题解
  4. Codeforces 367
  5. jpa仓库接口
  6. 经历:Java中字符串中按照多个字符拆分或替换:split()和replaceAll()
  7. swiper去除滑动设置
  8. libvirt python binding 变成了一个新项目了。
  9. WEB典型应用
  10. 从源码分析java.lang.String.isEmpty()
  11. [Hdu1342] Lotto
  12. [Luogu3455][POI2007]ZAP-Queries
  13. [论文阅读] ImageNet Classification with Deep Convolutional Neural Networks(传说中的AlexNet)
  14. Dubbo中集群Cluster,负载均衡,容错,路由解析
  15. vue 脚手架关于路由的一点理解
  16. len()方法
  17. 一、在windows环境下修改pip镜像源的方法(以python3为例)
  18. dos命令:文件操作
  19. Java 代码块:静态代码块、构造代码块、构造函数块
  20. 『PyTorch』第五弹_深入理解Tensor对象_上:初始化以及尺寸调整

热门文章

  1. Tengine+Lua+GraphicsMagick
  2. Python解析Xmind工具
  3. spark-sql自定义函数UDF和UDAF
  4. 微信小程序字符串替换
  5. vue 父组件给子组件传值,子组件给父组件传值
  6. dvi文件和将dvi文件转换成pdf格式
  7. vue 子组件调用父组件的方法
  8. 第 1 章 JS变量、作用域
  9. python一次性解压多层嵌套zip压缩包
  10. CRT乱码问题