为了账号安全,请及时绑定邮箱和手机立即绑定

在ionic2中我想先通过http请求一部分,然后剩下的数据用 ion-infinite-

在ionic2中我想先通过http请求一部分,然后剩下的数据用 ion-infinite-

HUWWW 2018-12-20 18:15:24
doInfinite(infiniteScroll) {console.log('Begin async operation');setTimeout(() => {  for (let i = 0; i < 5; i++) {    if(this.items.length < 20){      this.items.push( this.items.length );       infiniteScroll.complete();             }else{      infiniteScroll.enable(false);    }  }  console.log('Async operation has ended');}, 500);}ionViewDidLoad(){this.http.get('assets/data/nearby.json').subscribe(data=>{  console.log(data)  console.log(data.json())  this.lists = data.json()},error=>{  console.log(error)});}}
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

通过控制loadMore判断是否有加载更多 参考代码示例

<ion-infinite-scroll (ionInfinite)="doInfinite($event)" [threshold]="'10%'" [enabled]="loadMore">

        <ion-infinite-scroll-content [loadingSpinner]="'bubbles'">

        </ion-infinite-scroll-content>

    </ion-infinite-scroll>

doInfinite(infiniteScroll) {

    let id = this.lists[this.lists.length - 1]["id"];

    let params = {

      'Id': id,

      'getPast': 'true'

    };


    this._demoService.list(params)

      .subscribe((result) => {

        if (result.data.length > 0) {

          this.lists = this.lists.concat(result.data);  

        }

        infiniteScroll.complete();

        this.loadMore = result.data.length == 10;  //一次请求多少条

      }, (err) => {

        infiniteScroll.complete();

      });

  }


查看完整回答
反对 回复 2019-01-04
  • 1 回答
  • 0 关注
  • 534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信