Vue中的无限加载vue-infinite-loading的方法


Posted in Javascript onApril 08, 2018

本文介绍了Vue中的无限加载vue-infinite-loading的方法,分享给大家,具体如下:

注意:vue-infinite-loading2.0只能在Vue.js2.0中使用。如果你想在Vue.js1.0中使用,请安装vue-infinite-loading1.3版本

如何安装

npm install vue-infinite-loading --save

导入方式

es6模块导入方式

import InfiniteLoading from 'vue-infinite-loading';
export default {
 components: {
  InfiniteLoading
 },
};

CommonJS 模块导入方式

const InfiniteLoading = require('vue-infinite-loading');
export default {
 components: {
   InfiniteLoading
 }
};

其他方式

<script src="vue-infinite-loading.js"></script>

在页面中应用

直接在组件中声明

components:{
  InfiniteLoading
}

模板部分

<infinite-loading @infinite="infiniteHandler">
  <span slot="no-more">
     我们是有底线的
  </span>
</infinite-loading>

js部分

当滚动到底部时自动触发infiniteHandler事件

infiniteHandler($state) {
     setTimeout(() => {
       const temp = [];
       for (let i = this.list.length + 1; i <= this.list.length + 20; i++) {
         temp.push(i);
       }
       this.list = this.list.concat(temp);
       $state.loaded();
       $state.complete();
     }, 1000);
}

注意

如果还是使用
this.$refs.infiniteLoading.$emit('$InfiniteLoading:loaded');
this.$refs.infiniteLoading.$emit('$InfiniteLoading:complete');
会出现警告,告诉你已经修改为传参传入$state使用这个方法。

属性

distance:这是滚动的临界值。如果到滚动父元素的底部距离小于这个值,那么infiniteHandler回调函数就会被调用。

<infinite-loading @infinite="infiniteHandler" distance="Number">
</infinite-loading>

spinner:通过这个属性,你可以选择一个你最喜爱旋转器作为加载动画。
spinner="bubbles";
1、bubbles
2、circles
3、default
4、spiral
5、waveDots

<infinite-loading @infinite="infiniteHandler" spinner="String">
</infinite-loading>

direction:如果你设置这个属性为top,那么这个组件将在你滚到顶部的时候,调用infiniteHandler函数。

警告:你必须在数据加载后,手动地将滚动父元素的scrollTop设置为正确的值,否则,该组件会一次又一次调用infiniteHandler函数。

direction="top"

<infinite-loading @infinite="infiniteHandler" direction="String">
</infinite-loading>

本文借鉴:https://3water.com/article/137896.htm

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js类的静态属性和实例属性的理解
Oct 01 Javascript
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
Js获取事件对象代码
Aug 05 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
JavaScript获取按钮所在form表单id的方法
Apr 02 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
Nov 07 Javascript
jQuery实现HTML表格单元格的合并功能
Apr 06 Javascript
深入探讨Vue.js组件和组件通信
Sep 12 Javascript
原生js实现ajax方法(超简单)
Sep 20 Javascript
ES6新特性之模块Module用法详解
Apr 01 Javascript
jQuery滑动到底部加载下一页数据的实例代码
May 22 jQuery
ES6数组与对象的解构赋值详解
Jun 14 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 #Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
Apr 08 #Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
Apr 08 #Javascript
Js面试算法详解
Apr 08 #Javascript
JS简单获取并修改input文本框内容的方法示例
Apr 08 #Javascript
详解vue表单——小白速看
Apr 08 #Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 #Javascript
You might like
模仿OSO的论坛(三)
2006/10/09 PHP
php存储过程调用实例代码
2013/02/03 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
Angular8基础应用之表单及其验证
2019/08/11 Javascript
layui使用label标签的方法
2019/09/14 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
Python如何判断数独是否合法
2016/09/08 Python
python递归全排列实现方法
2018/08/18 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
如何手工释放资源
2013/12/15 面试题
超市后勤自我鉴定
2014/01/17 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
计算机网络专业求职信
2014/06/05 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
团员个人年度总结
2015/02/26 职场文书
SQL Server中的游标介绍
2022/05/20 SQL Server