0

好吧,我想ionScroll在指令中开火ion-scroll,但它不起作用。

知道我该如何处理吗???

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

4

1 回答 1

1

如果您或其他人仍在寻找答案,我会发布此信息。

ion-infinite-scroll你可以使用的,但它只适用于ion-content你可以使用它,如果它适合你。

但是,如果你真的想从中获取事件ion-scroll,你可能想尝试这样的事情: https ://stackoverflow.com/a/42176764/4084776

如果要检查何时到达滚动底部,可以添加一个虚拟元素并检查它是否靠近滚动底部。请参见下面的示例。

  ...
  @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>
...

于 2018-07-08T21:27:13.660 回答