【发布时间】:2020-05-07 13:12:45
【问题描述】:
我的申请中有 5 页有离子清新剂
<ion-refresher slot="fixed" (ionRefresh)="refreshActions($event)">
<ion-refresher-content pulling-icon="null" refreshing-spinner="null">
<ion-spinner name="crescent"></ion-spinner>
</ion-refresher-content>
</ion-refresher>
当我拉下这个刷新时,它会调用这个方法
refreshActions($event) {
this.subscription$.forEach(subscription => subscription.unsubscribe());
this.loadFavoritesAssets(this.userId);
setTimeout(() => {
$event.target.complete();
}, 500);
}
此方法取消订阅所有订阅并重新加载HTTP请求以调用数据库中的新信息,效果很好
但是当我导航到另一个页面并尝试调用另一个离子刷新器时,刷新器不会拉动并且不会刷新页面,它会被另一个页面刷新器卡住。
然后我需要返回上一页并滚动屏幕或进行一些移动以“完成”刷新,然后我可以刷新另一页。
有人知道这是什么吗?我不理解这种行为,它与http请求刷新方法有关吗?我以错误的方式调用了 complete() 方法?
当我刷新页面并快速导航到另一个页面时,这种行为总是会发生
【问题讨论】:
-
我们需要更多信息才能为您提供帮助。也就是说,这里有一个解释,在更改页面上显示的项目时必须小心。你能看看你是否会出现同样的错误吗? github.com/ionic-team/ionic-framework/issues/…。而且,我不会做一个循环来取消订阅,而是将它们订阅到一个 observable 然后完成它们stackoverflow.com/a/42490431/11135174
标签: typescript angular7 ionic4 refresher