基于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 相关文章推荐
动态加载iframe
Jun 16 Javascript
FireFox中textNode分片的问题
Apr 10 Javascript
JavaScript 原型链学习总结
Oct 29 Javascript
qTip2 精致的基于jQuery提示信息插件
Feb 17 Javascript
自己写的Javascript计算时间差函数
Oct 28 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
Jun 03 Javascript
JavaScript实现查找字符串中第一个不重复的字符
Dec 29 Javascript
JS图片压缩(pc端和移动端都适用)
Jan 12 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
Aug 07 Javascript
4个顶级开源JavaScript图表库
Sep 29 Javascript
ES6知识点整理之模块化的应用详解
Apr 15 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几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
php session劫持和防范的方法
2013/11/12 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python语言描述最大连续子序列和
2017/12/05 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
QML使用Python的函数过程解析
2019/09/26 Python
python 一维二维插值实例
2020/04/22 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
python集合的新增元素方法整理
2020/12/07 Python
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
师范生求职信
2014/06/14 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
工程部主管岗位职责
2015/02/12 职场文书
python实现网络五子棋
2021/04/11 Python