【问题标题】:Ionic 2 Infinite Scroll event never firesIonic 2 Infinite Scroll 事件从不触发
【发布时间】:2018-05-18 14:35:12
【问题描述】:

我正在尝试使用 ionic 的无限滚动。但是,无论我做什么,我都无法正常工作。此外,这个例子对我来说毫无意义。

我有这个页面用来导入消息:

<astoot-layout [pageName]="pageName" [basePage]="this">
  <ion-content padding-horizontal padding class="messages-page-content">
    <!--<ion-scroll scrollY="true" class="messages">-->
    <ion-list>
      <ion-item *ngFor="let message of messages">
        <!--<div *ngFor="let message of messages" class="day-wrapper">-->
          <div [class]="'message message-' + getOwnerClassPrefix(message.senderUserId)">
            <div class="message-content message-content-text">{{message.messageText}}</div>
            <span class="message-timestamp">{{ getCreated(message.created) }}</span>
          </div>
        <!--</div>-->
      </ion-item>
    </ion-list>
    <ion-infinite-scroll (ionInfinite)="pullPage($event)">
      <ion-infinite-scroll-content>
      </ion-infinite-scroll-content>
    </ion-infinite-scroll>
    <!--</ion-scroll>-->
  </ion-content>
  <ion-footer>
    <ion-toolbar color="whatsapp" class="messages-page-footer" position="bottom">
      <ion-input [(ngModel)]="messageText" class="message-editor" placeholder="Type a message"></ion-input>

      <ion-buttons end>
        <button ion-button icon-only *ngIf="messageText" class="message-editor-button" (click)="sendTextMessage()">
          <ion-icon name="send"></ion-icon>
        </button>

        <button ion-button icon-only *ngIf="!messageText" class="message-editor-button">
          <ion-icon name="mic"></ion-icon>
        </button>
      </ion-buttons>
    </ion-toolbar>
  </ion-footer>

</astoot-layout>

这是我从未调用过的 pullPage 方法:

pullPage(infiniteScroll: any) {
    //TODO Get nextPage
    setTimeout(() => {
      this.baseProvider.getList(this.filterByConversationId).subscribe(entities => {
          this.messages.concat(entities);
          infiniteScroll.complete();
      });
    }, 500);
}

这里需要的是我的布局组件:

<ion-header>
  <ion-navbar align-title="center">
      <button ion-button icon-only menuToggle>
        <ion-icon name="menu"></ion-icon>
      </button>
    <ion-title> {{pageName}} </ion-title>
    <ion-buttons end>
      <button [hidden]="!editOptions || editOptions.isEditing" (click)="toggleEdit()" ion-button>
        <ion-icon name="create"></ion-icon>
        &nbsp;Edit
      </button>
      <button [hidden]="!editOptions || !editOptions.isEditing" class="success" (click)="save()" ion-button>
        <ion-icon name="save"></ion-icon>
        &nbsp;Save
      </button>
      <button [hidden]="!editOptions || !editOptions.isEditing" class="warn" (click)="toggleEdit()" ion-button>
        <ion-icon name="save"></ion-icon>
        &nbsp;Cancel
      </button>
    </ion-buttons>
  </ion-navbar>
</ion-header>
<ng-content>
</ng-content>

我通常对ion-infinite-scroll 的工作原理感到困惑,它是如何知道何时发出信号的,它只是基于它上面最接近的列表吗?

如何触发无限滚动事件?

【问题讨论】:

    标签: javascript html angular typescript ionic2


    【解决方案1】:

    对于遇到类似情况的任何人,问题是由嵌套离子含量引起的 ionic 未解决问题,幸运的是我可以将其删除

    我的消息页面现在调用组件而不包装内容:

    <astoot-layout [pageName]="pageName" [basePage]="this"></astoot-layout>
    

    我的布局页面现在看起来像这样:

    <ion-header>
      <ion-navbar align-title="center">
          <button ion-button icon-only menuToggle>
            <ion-icon name="menu"></ion-icon>
          </button>
        <ion-title> {{pageName}} </ion-title>
        <ion-buttons end>
          <button [hidden]="!editOptions || editOptions.isEditing" (click)="toggleEdit()" ion-button>
            <ion-icon name="create"></ion-icon>
            &nbsp;Edit
          </button>
          <button [hidden]="!editOptions || !editOptions.isEditing" class="success" (click)="save()" ion-button>
            <ion-icon name="save"></ion-icon>
            &nbsp;Save
          </button>
          <button [hidden]="!editOptions || !editOptions.isEditing" class="warn" (click)="toggleEdit()" ion-button>
            <ion-icon name="save"></ion-icon>
            &nbsp;Cancel
          </button>
        </ion-buttons>
      </ion-navbar>
    </ion-header>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 2023-03-07
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多