页面懒加载滑动调用接口

简介: 页面懒加载滑动调用接口
data() {
    return {
        homeCate: [
        {
          name: 'Jewelry & Watches',
          category_id: 110,
          url: '',
          product: [],
          is_cate: false,
        }
      ],
      homeCateLoading: true,
    }
    },
mounted() {
    window.addEventListener('scroll', this.onScrollFunc, true)
  },
  methods: {
  onScrollFunc(event) {
      if (this.homeCateLoading) {
        this.homeCateLoading = false;
        const scrollTop = event.target.documentElement.scrollTop;
        const viewPortHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
        const that = this;
        this.homeCate.forEach(function (item, index) {
          if (!(item.product.length > 0) && !item.is_cate) {
            var offsetTop = document.getElementById('categoryProduct' + index).offsetTop;
            var top = offsetTop - scrollTop;
            if (top <= viewPortHeight + 100) {
              let params = {
                limit: 4,
                page: 1,
                category_id: item.category_id,
              }
              that.$set(that.homeCate[index], 'is_cate', true);
              setTimeout(function () {
                getGoodList(params).then(response => {
                  that.$set(that.homeCate[index], 'product', response.data);
                });
              }, 1000);
            }
          }
          if (that.homeCate.length == (index + 1)) {
            that.$nextTick(() => {
              that.homeCateLoading = true;
            })
          }
        });
      }
    },
     }
相关文章
Flutter ListView懒加载(滑动不加载,停止滑动加载)
前言:为了更好的减小网络的带宽,使得列表更加流畅,我们需要了解懒加载,也称延迟加载。关于上一章的登录界面,各位属实难为我了,我也在求ui小姐姐,各位点点赞给我点动力吧~
|
4月前
|
小程序 自动驾驶 IDE
静态懒加载+占位组件,让页面打开“快人一步”
静态懒加载+占位组件,让页面打开“快人一步”
55 0
|
4月前
|
存储 JavaScript 数据处理
uniapp获取接口数据并渲染至页面中
uniapp获取接口数据并渲染至页面中
307 0
|
10月前
|
JSON 小程序 JavaScript
小程序调用天气接口并且渲染在页面
小程序调用天气接口并且渲染在页面
59 0
|
小程序 JavaScript 前端开发
小程序实现滚动加载(懒加载)
小程序是一项很受欢迎的技术,随着其能力的不断增强,越来越多的人开始使用小程序来完成各种任务。当我面面临一个页面有非常多的数据时,该如何处理呢,显然一次性全部加载完,会非常消耗性能的,为了解决这些问题从而出现了一种叫滚动加载的数据处理方式,也被称为“无限滚动”或“懒加载”,它可以使你的页面在不刷新的情况下连续加载更多数据。在本文中,我们将讨论如何在小程序中实现滚动加载。
260 0
函数方式渲染页面
函数方式渲染页面
42 0
|
存储 JavaScript 前端开发
Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示
Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示
407 0
|
JSON 小程序 JavaScript
小程序触底加载与下拉刷新功能的设计与实现
在最近做小程序的时候有这么一个很常见的需求,加载一个信息列表,要求需要触底加载和下拉刷新,我突然想起来掘金小册界面和这个需求很相似,接下来我给大家介绍一下我的实现方案。
342 0
小程序触底加载与下拉刷新功能的设计与实现
|
移动开发 JavaScript 前端开发
H5页面如何实现图片懒加载?
图片懒加载,往往作为减少首页白屏时间的一个解决方案而出现。直观的来说,就是不要直接加载所有图片,而是满足一定条件后才加载,也就是”惰性加载“。实现图片懒加载的方式有很多,如果要简单点那就直接使用第三方插件:[vue-lazyload](https://www.npmjs.com/package/vue-lazyload),如果想探究一下别人的插件是怎么实现图片懒加载的,那么可以看看本文是如何实现的。
797 0
H5页面如何实现图片懒加载?
|
JavaScript 前端开发
js实现页面滑动到最底部触发内容加载
js实现页面滑动到最底部触发内容加载
419 0