vue实现的上拉加载更多数据/分页功能示例


Posted in Javascript onMay 25, 2019

本文实例讲述了vue实现的上拉加载更多数据/分页功能。分享给大家供大家参考,具体如下:

加载状态

<div v-if='has_log == 0'>
   <load-more tip="上拉加载" :show-loading="false" background-color="#fbf9fe"></load-more>
  </div>
  <div v-if='has_log == 1'>
   <load-more tip="正在加载" :show-loading="true"></load-more>
  </div>
  <div v-if='has_log == 2'>
    <load-more tip="没有更多数据了" :show-loading="false" background-color="#fbf9fe"></load-more>
  </div>

js

export default {
 name: '',
 data () {
  return {
   list: [],
   now_item: '',
   current_index: 0,
   list_param: {page: 1},
   no_data: false,
   has_log: 0
  }
 },
 components: {
  XInput
 },
 created () {
  this.get('/api/index/index', this.list_param).then((data) => {
   this.list = data.data.data
   this.list_param.page += 1
  })
  window.addEventListener('scroll', this.onScroll)
 },
 methods: {
  onScroll () {
   this.has_log = 1
   let innerHeight = document.querySelector('#app').clientHeight
   let outerHeight = document.documentElement.clientHeight
   let scrollTop = document.documentElement.scrollTop
   // console.log(innerHeight + ' ' + outerHeight + ' ' + scrollTop)
   // console.log(outerHeight + scrollTop - 30)
   // console.log(innerHeight)
   if (outerHeight + scrollTop === innerHeight + 57) {
    if (this.no_data === true) {
     this.has_log = 2
     return false
    }
    this.get('/api/index/index', this.list_param).then((data) => {
     if (data.data.data.length > 0) {
      this.list = [...this.list, ...data.data.data]
      this.list_param.page = this.list_param.page + 1
      this.has_log = 0
     } else {
      this.has_log = 2
      this.no_data = true
     }
    })
   }
  }
 }
}

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
JSQL 批量图片切换的实现代码
May 05 Javascript
jQuery中delegate和on的用法与区别详细解析
Jan 26 Javascript
JavaScript获取function所有参数名的方法
Oct 30 Javascript
跟我学习javascript的函数调用和构造函数调用
Nov 16 Javascript
利用Angularjs中模块ui-route管理状态的方法
Dec 27 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
React Native使用Modal自定义分享界面的示例代码
Oct 31 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
vue quill editor 使用富文本添加上传音频功能
Jan 14 Javascript
如何手动实现一个 JavaScript 模块执行器
Oct 16 Javascript
vue实现的请求服务器端API接口示例
May 25 #Javascript
Vue Autocomplete 自动完成功能简单示例
May 25 #Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
May 24 #Javascript
了解JavaScript中的选择器
May 24 #Javascript
Javascript通过控制类名更改样式
May 24 #Javascript
redux.js详解及基本使用
May 24 #Javascript
javascript获取元素的计算样式
May 24 #Javascript
You might like
使用php计算排列组合的方法
2013/11/13 PHP
php strnatcmp()函数的用法总结
2013/11/27 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
React快速入门教程
2017/01/17 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
Python 开发Activex组件方法
2009/11/08 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
小学教师听课制度
2014/02/01 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
js作用域及作用域链工作引擎
2022/07/07 Javascript