基于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 相关文章推荐
CheckBox 如何实现全选?
Jun 23 Javascript
javascript动态添加checkbox复选框的方法
Dec 23 Javascript
AngularJS动态生成div的ID源码解析
Aug 29 Javascript
AngularJS 面试题集锦
Sep 06 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
Nov 29 Javascript
手机端转换rem适应
Apr 01 Javascript
jQuery实现一个简单的验证码功能
Jun 26 jQuery
bootstrap3-dialog-master模态框使用详解
Aug 22 Javascript
浅谈在koa2中实现页面渲染的全局数据
Oct 09 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
浅析Vue 防抖与节流的使用
Nov 14 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浮点数知识
2015/05/13 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
Python多线程编程(五):死锁的形成
2015/04/05 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
python实现websocket的客户端压力测试
2019/06/25 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
拉丁舞学习者的自我评价
2013/10/27 职场文书
会议主持词
2014/03/17 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
铅球加油稿100字
2014/09/26 职场文书
2014年关工委工作总结
2014/11/17 职场文书
公司禁烟通知
2015/04/23 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
2016中秋节广告语
2016/01/28 职场文书