0

我在申请的 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() 方法?

当我刷新页面并快速导航到另一个页面时,这种行为总是会发生

4

1 回答 1

0

只需从上面的代码中删除这一行并检查

this.subscription$.forEach(subscription => subscription.unsubscribe());

于 2020-01-22T09:50:55.100 回答