Событие "ionScroll" в ионной прокрутке Ionic2

Хорошо, я хочу огонь ionScroll в директиве ion-scroll, Но это не работает.

Есть идеи, как я могу работать с этим???

API: https://ionicframework.com/docs/api/components/scroll/Scroll/

1 ответ

Я опубликую это на тот случай, если вы или кто-то еще ищете ответ.

Есть ion-infinite-scroll Вы можете использовать, но это относится только к ion-content Вы можете использовать его, если он вам подходит.

Однако, если вы действительно хотите получить событие от ion-scroll Вы можете попробовать что-то вроде этого: /questions/10339008/ionic-2-scroll-event/10339015#10339015

Если вы хотите проверить, когда достигнете нижней части свитка, вы можете добавить фиктивный элемент и проверить, находится ли он около нижней части свитка. Смотрите пример ниже.

  ...
  @ViewChild(Scroll) ionScroll: Scroll;
  @ViewChild("endOfScroll") endOfScroll: ElementRef;
  updating: Boolean = false;
  private threshold: number = 0.01; //1% This is similar to ion-infinite-scroll threshold 
  ...
  ionViewDidLoad() { 
      this.ionScroll.addScrollEventListener(this.scrollHandler.bind(this));
  }
  ...
  scrollHandler(evenman){
    let endOfScroll = this.endOfScroll.nativeElement.getBoundingClientRect();
    let ionScroll = this.ionScroll._scrollContent.nativeElement.getBoundingClientRect();
    let clearance = 1 - ionScroll.bottom/endOfScroll.bottom;
    if(clearance <= this.threshold){
      this.updating = true;
      // DO your work here
      console.log(JSON.stringify({fen: endOfScroll.bottom, lis: ionScroll.bottom}));
      this.updating = false;

    }
  }
...
...
      <ion-scroll scrollY="true">
        <ion-list>
          <ion-item-sliding *ngFor="let machann of lisMachann.lisMachann  let endeks = index" [class.active]="endeks == endeksKlik">
            <ion-item (click)="ouveFenet(endeks)">
            ...
            </ion-item>
            <ion-item-options side="left">
            ...
            </ion-item-options>
          </ion-item-sliding>
          <ion-item *ngIf="updating">
            <ion-spinner class="loading-center"></ion-spinner>
          </ion-item>
        </ion-list>
        <div #endOfScroll></div>
      </ion-scroll>
...

Другие вопросы по тегам