我正在使用最新的ionic 3.6.0
。
我遇到infiniteScroll
和ion-segment
的问题,当其中一个细分到达终点时infiniteScroll.enable(false)
。然后切换到另一个段,即使我将boolean值放在变量中并在构造函数级别初始化它,也不会启用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 :(得分:0)
好的,我认为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
并且每个段只有一种循环列表。