基于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 window.opener的用法分析
Apr 07 Javascript
javascript利用初始化数据装配模版的实现代码
Nov 17 Javascript
原生js操作checkbox用document.getElementById实现
Oct 12 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
localStorage实现便签小程序
Nov 28 Javascript
在bootstrap中实现轮播图实例代码
Jun 11 Javascript
React-Native 组件之 Modal的使用详解
Aug 08 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
微信打开网址添加在浏览器中打开提示的办法
May 20 Javascript
浅谈vue 锚点指令v-anchor的使用
Nov 13 Javascript
微信小程序聊天功能的示例代码
Jan 13 Javascript
vue中echarts引入中国地图的案例
Jul 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中const与define的应用区别
2013/06/18 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
php中如何执行linux命令详解
2018/11/06 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
python解决网站的反爬虫策略总结
2016/10/26 Python
python实现八大排序算法(1)
2017/09/14 Python
python pandas修改列属性的方法详解
2018/06/09 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
python如何调用字典的key
2020/05/25 Python
在keras中实现查看其训练loss值
2020/06/16 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
介绍一下grep命令的使用
2015/06/12 面试题
办理护照介绍信
2014/01/16 职场文书
求职教师自荐书
2014/06/19 职场文书
2014年幼师工作总结
2014/11/22 职场文书
西湖英语导游词
2015/02/06 职场文书
优秀员工自荐书
2015/03/06 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python