基于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 相关文章推荐
JavaScript 定义function的三种方式小结
Oct 16 Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 Javascript
jQuery.clean使用方法及思路分析
Jan 07 Javascript
jquery实现弹出窗口效果的实例代码
Nov 28 Javascript
jQuery 滑动方法slideDown向下滑动元素
Jan 16 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
Nov 02 Javascript
jQuery实现行文字链接提示效果的方法
Mar 10 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
Oct 09 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
Aug 27 Javascript
Bootstrap插件全集
Jul 18 Javascript
javascript闭包的使用之按钮切换功能
Aug 30 Javascript
vue 实现走马灯效果
Oct 28 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+SqlServer实现分页显示
2006/10/09 PHP
php 破解防盗链图片函数
2008/12/09 PHP
php daodb插入、更新与删除数据
2009/03/19 PHP
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
python snownlp情感分析简易demo(分享)
2017/06/04 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
python导入库的具体方法
2020/06/18 Python
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
领导的自我鉴定
2013/12/28 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
大学生毕业评语
2014/12/31 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
功夫熊猫观后感
2015/06/10 职场文书
入党自传范文2015
2015/06/26 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
Python图像处理库PIL详细使用说明
2022/04/06 Python
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js