基于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调用AJAX时Get和post的乱码解决方法
Jun 04 Javascript
Javascript正则控制文本框只能输入整数或浮点数
Sep 02 Javascript
javascript中clone对象详解
Dec 03 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
Oct 10 Javascript
三种AngularJS中获取数据源的方式
Feb 02 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
Apr 01 Javascript
AngularJS入门示例之Hello World详解
Jan 04 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
bootstrap confirmation按钮提示组件使用详解
Aug 22 Javascript
详解利用 Express 托管静态文件的方法
Sep 18 Javascript
react的滑动图片验证码组件的示例代码
Feb 27 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
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
在Django框架中编写Contact表单的教程
2015/07/17 Python
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
迟到检讨书300字
2014/02/14 职场文书
文明演讲稿范文
2014/05/12 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
Python之matplotlib绘制折线图
2022/04/13 Python
Android studio 简单计算器的编写
2022/05/20 Java/Android