基于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 对象介绍
Jan 20 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
jQuery中bind与live的用法及区别小结
Jan 27 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
Sep 16 Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 Javascript
简单谈谈原生js的math对象
Jun 27 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
vue父组件通过props如何向子组件传递方法详解
Aug 16 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
JS手机端touch事件计算滑动距离的方法示例
Oct 26 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
Jan 15 Javascript
使用rollup打包JS的方法步骤
Dec 05 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
综合图片计数器
2006/10/09 PHP
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
php数组和链表的区别总结
2019/09/20 PHP
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
Python XML RPC服务器端和客户端实例
2014/11/22 Python
安装dbus-python的简要教程
2015/05/05 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
python多线程抽象编程模型详解
2019/03/20 Python
Python Django 命名空间模式的实现
2019/08/09 Python
解决Python中回文数和质数的问题
2019/11/24 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
python和c语言哪个更适合初学者
2020/06/22 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
高中毕业生个人自我鉴定
2013/11/24 职场文书
银行工作检查书范文
2014/01/31 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
2014年宣传工作总结
2014/11/18 职场文书
大四学生个人总结
2015/02/15 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
2019教师的学习计划
2019/06/25 职场文书
Python基于百度API识别并提取图片中文字
2021/06/27 Python
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers