基于JS实现父组件的请求服务过程解析


Posted in Javascript onOctober 14, 2019

这篇文章主要介绍了基于JS实现父组件的请求服务过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

<template>
 <div class = 'car_list' reft='scrollobx' @scroll='scrollready($event)'>
 </div>
</template>
<script>
 export default {
  data() {
   return {
    lengthThreshold: 50, //当滑动到距离低端50px时,更新数据
    timeThreshold: 300,
    promise: null
   }
  },
  methods: {
   // 滚动加载列表
   scrollready() {
    if(this.shouldScroll()) {
     if (this.promise) {
      return;
     }
     // 进行加载
     this.fn();
     // 防止多次滑动,频繁请求后台资源
     let self = this;
     this.promise = setTimeout(() => {
      self.promise = null;
     }, this.timeThreshold);
    }
   },
   // 调用父组件请求资源服务
   fn() {
    this.$emit('scrollChange');
   },
   shouldScroll() {
    if(document.scrollTop === 0) {// 滑动距离为0,还没开始滑动
     return false;
    }<br data-filtered="filtered">    // 列表高度 - 列表可视高度 - 滑动的高度 < 50px , 则加载更多
    return this.$refs.scrollbox.scrollHeight - this.$refs.scrollbox.clientHeight - this.$refs.scrollbox.scrollTop < this.lengthThreshold;
   },
  }
 }
</script>

父组件的请求服务方法:

queryCarApplyShareList() {
  this.Load = true;
  CarResources.methods.queryCarApplyShareList(this.http, this.pageNo, this.pageSize).then((res) => {
   if (res && res.status === 200) {
    if (this.pageNo === 1) { // 加载第一页数据
     this.CarList = res.data || [];
    } else { // 加载更多
     this.CarList = <strong>this.CarList.concat(res.data);</strong>
    }
    this.IsLastPage = res.data.length === 0
   }
   this.Load = false;
  }, () => {
   this.Load = false;
   console.log('接口报错');
  });
},

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

Javascript 相关文章推荐
比较简单的异步加载JS文件的代码
Jul 18 Javascript
JavaScript自执行闭包的小例子
Jun 29 Javascript
比较新旧两个数组值得增加和删除的JS代码
Oct 30 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
JavaScript中利用Array和Object实现Map的方法
Jul 27 Javascript
在React框架中实现一些AngularJS中ng指令的例子
Mar 06 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
Mar 29 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
js实现车辆管理系统
Aug 26 Javascript
JS前端可扩展的低代码UI框架Sunmao使用详解
Jul 23 Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 #Javascript
vue循环数组改变点击文字的颜色
Oct 14 #Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
Oct 14 #Javascript
VUE+node(express)实现前后端分离
Oct 13 #Javascript
javascript sort()对数组中的元素进行排序详解
Oct 13 #Javascript
javaScript把其它类型转换为Number类型
Oct 13 #Javascript
js 实现watch监听数据变化的代码
Oct 13 #Javascript
You might like
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
PHP多文件上传类实例
2015/03/07 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
php intval函数用法总结
2019/04/14 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
企业演讲稿范文大全
2014/05/20 职场文书
党员志愿者活动总结
2014/06/26 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
PHP命令行与定时任务
2021/04/01 PHP
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
为Centos安装指定版本的Docker
2022/04/01 Servers
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers