2017-09-10 17 views
1

最新のionic 3.6.0を使用しています。イオンセグメントでinfiniteScrollを管理する方法

infiniteScrollion-segmentのセグメントのいずれかが最後に達したときに問題が発生しています(infiniteScroll.enable(false))。別のセグメントに切り替えると、変数にブール値を入れてコンストラクタレベルで初期化しても、infiniteScrollはまったく有効になりません。

.TS:

doInfinite(infiniteScroll){ 
    if (this.segment === 'all'){ 
    this.doInfiniteForSegmentAll(infiniteScroll); 
    } else 
    if (this.segment === 'featured'){ 
    this.doInfiniteForSegmentFeatured(infiniteScroll); 
    } 
} 

doInfiniteForSegmentAll(infiniteScroll){ 
    this.service.getAllData().subscribe(res => { 
     if (res.length > 0){ 
     //Do stuff 
     } else { 
     infiniteScroll.enable(false) 
     //show a toast 
     } 
    }); 
} 

doInfiniteForSegmentFeatured(infiniteScroll){ 
    this.service.getFeaturedData().subscribe(res => { 
     if (res.length > 0){ 
     //Do stuff 
     } else { 
     infiniteScroll.enable(false) 
     //show a toast 
     } 
    }); 
    } 

の.html:

<ion-infinite-scroll *ngIf="segment === 'all' || segment === 'featured'" (ionInfinite)="doInfinite($event)" threshold="50px"> 
    <ion-infinite-scroll-content 
     loadingText="Loading" loadingSpinner="dots"></ion-infinite-scroll-content> 
</ion-infinite-scroll> 

答えて

0

[OK]を、私はので... ion-infinite-scrollは、各セグメントごとに別々であるべきと思われると思う:

の.html:

<ion-infinite-scroll *ngIf="segment === 'all'" (ionInfinite)="doInfinite($event)" threshold="50px"> 
    <ion-infinite-scroll-content 
     loadingText="Loading" loadingSpinner="dots"></ion-infinite-scroll-content> 
</ion-infinite-scroll> 

<ion-infinite-scroll *ngIf="segment === 'featured'" (ionInfinite)="doInfinite($event)" threshold="50px"> 
    <ion-infinite-scroll-content 
     loadingText="Loading" loadingSpinner="dots"></ion-infinite-scroll-content> 
</ion-infinite-scroll> 

これはngSwitchを使用せず、各セグメントに1種類のループリストしか持たないからです。

関連する問題