2017-09-10 2 views
1

verwaltet Ich verwende die neueste ionic 3.6.0.Wie man InfiniteScroll mit Ionensegment

Ich habe ein Problem mit infiniteScroll und ion-segment, wenn eines der Segmente das Ende erreicht, wo infiniteScroll.enable(false). Wenn ich dann zu einem anderen Segment wechsle, ist der infiniteScroll überhaupt nicht aktiviert ... selbst wenn ich den booleschen Wert in eine Variable setze und ihn auf Konstruktorebene initialisiere.

.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> 

Antwort

0

Ok, ich denke, es scheint, dass ion-infinite-scroll für jedes Segment getrennt sein sollten .. also:

.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> 

Das ist, da ich ngSwitch nicht verwende und nur eine Art von looped Liste für jedes Segment habe.