Ionic 2 scroll event

2019-01-26 21:04发布

I have an ion-scroll component. I'm trying to execute some code during scrolling. In Ionic 1 this was possible using the on-scroll attribute and passing a function.

The documentation is also missing. Is there a built in way in Ionic 2 to detect scrolling, or do I have to fall back on adding my own event handlers using jQuery or window scroll event?

标签: ionic2
3条回答
劫难
2楼-- · 2019-01-26 21:09

I found this solution from here: https://forum.ionicframework.com/t/ionic-2-rc4-addscrolllistener/73145/16?u=kamleshappster

this.content.ionScroll.subscribe(($event) => {
 this.scrollAmount = $event.scrollTop;
});
查看更多
不美不萌又怎样
3楼-- · 2019-01-26 21:27

You can use the addScrollEventListener method of the Scroll component, like so:

this.scroll.addScrollEventListener((event) => {
    console.log(event);
});

Your HTML:

<ion-header>
    <ion-navbar>
        <ion-title>Title</ion-title>
    </ion-navbar>
</ion-header>

<ion-content class="no-scroll">
    <ion-scroll></ion-scroll>
</ion-content>

Your Typescript:

import {Component, ViewChild} from '@angular/core';
import {Scroll} from 'ionic-angular';

@Component({
    selector: 'page-home',
    templateUrl: 'home.html'
})

export class HomePage {
    @ViewChild(Scroll) scroll: Scroll;

    constructor() {}

    ngAfterViewInit() {
        this.scroll.addScrollEventListener(this.onScroll);
    }

    onScroll(event) {
        console.log(event);
    }
}
查看更多
地球回转人心会变
4楼-- · 2019-01-26 21:28

I found a solution here: “On-scroll” not working in

Using the "addScrollEventListener" inside "ngAfterViewChecked".

查看更多
登录 后发表回答