v-infinite-scroll无限滚动遇到的坑

 <ul
 class="pagelist"
  v-infinite-scroll="loadMore"
  infinite-scroll-disabled="loading"
  infinite-scroll-distance="10" >
  <li v-for="item in list">{{ item }}</li>
</ul>
export defalut({
    data() {
        return {
            loading:false,
            list:[]
        }
    },
    methods: {
        loadMore() {
          this.loading = true
        }
    }
})
填坑
1.重复加载。初次进入列表页,会加载两次或者多次数据
造成重复加载的原因,罪魁祸首是 infinite-scroll-disabled,在 loadMore 方法里 有一句 this.loading = true,把  infinite-scroll-disabled 的值设置为了true
它的作用就是,当你进入页面是,会检查如果第一次请求的数据没有撑满你的容器(list-data),就会立即再次执行 v-infinite-scroll 绑定的方法(loadMore),第二次没有撑满,会执行第三次
2.滚动时,不起作用
这种情况,就是在 loadMore 方法里没有写 this.loading = true,同时,第一次加载的数据也没有撑满容器。而我们的样式设置:
.pagelist{
    height: 100%;
    overflow-y: auto;
}
根本原因是因为,数据没有撑满容器就不会有滚动效果,所以就不会起作用了。
所以解决方案 就是要出现滚动条 !!! 容器高设置的小一点,每页的数据设置为20或者更多。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 视频压缩有在线软件了,不用下载软件,直接在线压缩(shipinyasuo。com)。压缩后高清无损,文件小。压缩后...
    lpf_9106阅读 1,501评论 0 0
  • 它本在红尘外 因着佛缘 来到这世间 静看变幻的尘烟 时光在它身上安然舒卷 雕琢的一朵清水菡萏 濯而不妖,淤泥不染 ...
    卿公子的小酒馆阅读 3,764评论 25 32
  • 小山,60后,公务员。工作之余,醉心于草木,有个公众号小山草木记,目前有1万多的粉丝。他万万没想到,平日里...
    颖颖潜行阅读 3,613评论 2 2
  • SFBT学习分享第六天 放弃无效的方法 如果没有用,做点别的 案例一个刚上初二的女孩由于单相思单方面认为自己失恋了...
    Smile_荷心阅读 876评论 0 0
  • 有关并行(Parallelism),不得不提的肯定是Erlang,通用的面向并发的函数编程语言,这种编程语言的选择...
    alexzhang2015阅读 10,318评论 0 11