加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular5 IonIC3 实现页面滚动加载

发布时间:2020-12-17 08:14:00 所属栏目:安全 来源:网络整理
导读:前言 最近在做一个移动端的项目,需要应用滚动加载的效果,开始是想通过JS自己写个方法,但是实际操作中发现代码设计比较复杂。最终通过IonIC框架的方法很好的实现了想要的效果,如下图: 实现效果 当滚动条距离底部一定距离时触发加载事件: 代码块 //html

前言

  最近在做一个移动端的项目,需要应用滚动加载的效果,开始是想通过JS自己写个方法,但是实际操作中发现代码设计比较复杂。最终通过IonIC框架的方法很好的实现了想要的效果,如下图:
  

实现效果

  当滚动条距离底部一定距离时触发加载事件:

代码块

//html代码:

//顶部标题
<ion-header>
  <ion-navbar no-border-bottom color="primary">
    <ion-title>BXA-滚动加载</ion-title>
  </ion-navbar>
</ion-header>

//中间内容的显示
<ion-content>
  <ion-products [products]="products"></ion-products>
  <ion-row>
    <ion-col class="nodata" text-center *ngIf="!hasmore">
      没有商品啦 ?(^?^*)
    </ion-col>
  </ion-row>

//滚动条触发事件
  <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
    <ion-infinite-scroll-content></ion-infinite-scroll-content>
  </ion-infinite-scroll>

</ion-content>
//ts代码:

  doInfinite(infiniteScroll) {
  //判断是否有更多数据
    if (this.hasmore == false) 
     {infiniteScroll.complete();return;}
      d => {
      //判断是否获取到数据
      if (d.data.length > 0) {
        //将获取的数据表与已有数据表连接(concat)
        this.products = this.products.concat(d.data);
        this.params.pageNo += 1;
      } else {
        this.hasmore = false;
        console.log("已加载所有数据!")
      }
      infiniteScroll.complete();});
    }

小结

  一些功能的实现总是见多了觉得容易,但实际写起代码却没有那么轻松,这个过程中论坛以及官网的文档帮到了我很多,推荐大家多上官网熟练使用提供的官方文档会全面的获取自己需要的方法。荣幸与您分享~

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读