Vue实现下拉加载最佳方案自然是使用vue-infinite-scroll来实现。

接下来我们一起看下它的配置及使用方式。

首先我们先了解下他的配置参数:

  • v-infinite-scroll="loadMore"表示回调函数是loadMore
  • infinite-scroll-disabled="busy"表示由变量busy决定是否执行loadMore,false则执行loadMore,true则不执行,注意,busy表示繁忙,繁忙的时候是不执行的。
  • infinite-scroll-distance="10"这里10决定了页面滚动到离页尾多少像素的时候触发回调函数,10是像素值。一般情况下会在页尾做一个几十像素高的“正在加载中...”,这样的话,可以把这个div的高度设为infinite-scroll-distance的值即可。
  • infinite-scroll-immediate-check 默认值为true,该指令表示,应该在绑定后立即检查busy的值和是否滚动到底。假如你的初始内容高度不够,不足以填满可滚动的容器的话,你应设为true,这样会立即执行一次loadMore,会帮你填充一些初始内容。
  • infinite-scroll-listen-for-event 当事件在Vue实例中发出时,无限滚动将再次检查。
  • infinite-scroll-throttle-delay 检查busy的值的时间间隔,默认值是200,因为vue-infinite-scroll的基础原理是,vue-infinite-scroll会循环检查busy的值,以及是否滚动到底,只有当:busy为false且滚动到底,回调函数才会执行

安装vue-infinite-scroll

npm install vue-infinite-scroll --save

在Vue项目中引入 vue-infinite-scroll

你可以选择全局引入:

import infiniteScroll from 'vue-infinite-scroll'
Vue.use(infiniteScroll)


<template><div id="Sharingrouter"><div class="wei" v-infinite-scroll="loadMore" infinite-scroll-throttle-delay="500" infinite-scroll-disabled="busy" infinite-scroll-distance="10"><div v-for="item in data" :key="item.index">{{item.name}}</div><div v-if="loadingShow">加载中</div><div v-if="noMoreShow">没有更多了</div></div></div>
</template><script>export default {data() {return { count: 0,data: [],busy: false,loadingShow:true,noMoreShow:false,}},methods: {loadMore: function() {this.busy = truesetTimeout(() => {for (var i = 0, j = 10; i < j; i++) {this.data.push({name: this.count++ })}console.log(this.data)this.busy = false}, 1000)},},watch:{count: {immediate:true,handler(value){console.log(value);if(value>31){this.loadingShow = falsethis.noMoreShow = truethis.busy = true}}}}}
</script><style lang='less' scoped>#container {width: 100%;height: 100%;position: absolute;cursor: pointer;}
.wei{   width:300px;overflow-x: hidden;height:300px;&::-webkit-scrollbar {display: none;} //去除滚动条background:red;overflow-y: auto;}
</style>

注意:

  • 如果要用数据对容器进行填充,那么必须设置容器高度 也可以是屏幕高度,不然无法触发loadMore事件
  • 在进行异步请求之前,需要调用this.busy= true, 数据请求完成后 再设置 this.busy = false(放在axios请求的外面,避免不断重复加载的现象)

vue无限滚动vue-infinite-scroll插件的配置及使用详解相关推荐

  1. infinitescroll php,WordPress: 增加无限分页(Infinite Scroll)功能

    Infinite Scroll是一种动态加载内容的方式,当网页滚动到底部时,自动载入本需要翻页才能看到的内容,在社交应用中很常见,例如新浪微博. WordPress.com已经支持了这个功能,但自己h ...

  2. jenkins插件调用job_Jenkins迁移job插件Job Import Plugin流程详解

    Jenkins迁移job插件Job Import Plugin流程详解 由于又开了新机器所以又要重新布置Jenkins从老项目拷贝过来,发现Job Import Plugin 这个插件更新了,和以前的 ...

  3. IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装)

    这篇文章主要介绍了IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装),本文通过截图给大家展示的非常详细,需要的朋友可以参考下 目录 1.在线安装: 2.离线安装: IDEA安装阿里巴 ...

  4. plupload怎么设置属性_jquery上传插件:plupload事件参数说明详解

    jquery上传插件:plupload事件参数说明详解 2018-12-01 本篇重点说明一下plupload的事件参数.并用2个例子说明一下绑定事件. 1.plupload参数说明: Browse_ ...

  5. [配置]vue无限滚动vue-infinite-scroll的配置

    安装: npm i vue-infinite-scroll -D 引用: main.js中通过如下方式注册全局引用 import infiniteScroll from 'vue-infinite-s ...

  6. vue2.0无限滚动加载数据插件

      做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...

  7. vue 中provide的用法_Vue多级组件provide/inject使用详解

    这次给大家带来Vue多级组件provide/inject使用详解,Vue多级组件provide/inject使用的注意事项有哪些,下面就是实战案例,一起来看一下. provide / inject 是 ...

  8. node怎么解析vue代码_vue中node_modules中第三方模块的修改使用详解

    最近用vue在做一个项目,github用上找了一个日历插件,intall到了本项目中,配好以后发现插件的样式风格和项目总体风格相差较大,所以就像这个改一下插件风格, 第一种方法:我直接在父组件中将st ...

  9. 【Vue】vue2.6使用TS之vue-class-component与vue-property-decorator使用详解

    vue2.6中对typescript的支持 Vue CLI 3 可以使用 TypeScript 生成新工程. # 1. 如果没有安装 Vue CLI 就先安装 cnpm install --globa ...

最新文章

  1. shell编程_linux
  2. 如何合理的规划一次jvm性能调优
  3. 在linux和windows下自动备份数据库
  4. android程序安装后图标不显示
  5. sprintf-%s的用法
  6. postman断言之常用函数
  7. 培训师 每小时多少钱_每个产品设计师需要了解的品牌知识
  8. 分享一个四两拨千斤的真实故事
  9. 怎样在js中使用EL表达式
  10. bmfont-instructions
  11. 如何用VB语言实现四连环游戏(重力四子棋)?
  12. mysql engine ndb_ndbcluster引擎表同步到innodb引擎报错Error 'Unknown storage engine 'ndbcluster'...
  13. 文献阅读_国内外旅游在线评论研究综述(中文文献)
  14. 360度绩效评估中的6个关键点,尤其是第4个!
  15. Boosting AdaBoost算法
  16. Docker系列:docker 容器命令: 删除 停止 启动 重启
  17. JAVA上传文件图片到服务器保存
  18. C++ vector函数
  19. 3D 渲染和游戏引擎技术信息来源
  20. python五种常见的排序方法是_常见的经典的排序方法的实现(Python)

热门文章

  1. 卫生间装修需要注意的问题
  2. 阿里云-ocr-身份识别
  3. 使用weibo js,新浪微博三方登陆,帐号绑定。
  4. Python 拼图成心2.0【重新梳理】【附完整代码】
  5. 温故而知新,由ADO.NET与Dapper所联想到的
  6. C#中Using的三种使用方法
  7. 财付通php接口,财付通支付接口完整源码实例php版
  8. mt4交易平台哪个好?不妨试试福瑞斯外汇平台
  9. 如何在计算机上新建硬盘,我想在计算机上添加另一个硬盘,我该如何设置?
  10. PDF转换成PPT后格式混乱,可能这个没做好