基于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 相关文章推荐
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
jquery的颜色选择插件实例代码
Oct 02 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
Feb 04 Javascript
JavaScript DOM学习第六章 表单实例
Feb 19 Javascript
JavaScript中的面向对象介绍
Jun 30 Javascript
jQuery中replaceWith()方法用法实例
Dec 25 Javascript
jqueryUI里拖拽排序示例分析
Feb 26 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
Apr 06 Javascript
Angular下H5上传图片的方法(可多张上传)
Jan 09 Javascript
原生JS实现幻灯片
Feb 22 Javascript
vue mounted 调用两次的完美解决办法
Oct 29 Javascript
JS实现旋转木马轮播图
Jan 01 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文件夹与文件目录操作函数介绍
2013/09/09 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
PHP常用的三种设计模式
2017/02/17 PHP
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
JS作用域链详解
2017/06/26 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
Python实现AI换脸功能
2020/04/10 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
Python 日期与时间转换的方法
2020/08/01 Python
Python识别处理照片中的条形码
2020/11/16 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
介绍一下木马病毒的种类
2015/07/26 面试题
编辑找工作求职信范文
2013/12/16 职场文书
酒店办公室文员岗位职责
2013/12/18 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
服务承诺口号
2014/05/22 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
义卖募捐活动总结
2015/05/09 职场文书
爱护环境建议书
2015/09/14 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python