Picking up when a user scroll on Ionic 2 is confusing me. I basically want to say, when a user scrolls down the page, do something.
Any examples would be great.
UPDATE:
I have this in my constructor, so when the page scrolls I want to close the keyboard, due to it being left open and no other way to close.
import { Component, ViewChild } from '@angular/core';
import { NavController, NavParams, Content } from 'ionic-angular';
import { Keyboard } from '@ionic-native/keyboard';
export class SearchPage {
@ViewChild(Content)
content:Content;
constructor(public keyboard: Keyboard, public formBuilder: FormBuilder, public navCtrl: NavController, public navParams: NavParams, public apiAuthentication: ApiAuthentication, private http: Http) {
this.content.ionScroll.subscribe((data)=>{
this.keyboard.close();
});
}
}
However I get this error Cannot read property 'ionScroll' of undefined
am i putting it in the wrong place?
You can subscribe to content events.
Content has 3 output events:
Listen to an event:
@ViewChild(Content)
content: Content;
// ...
ngAfterViewInit() {
this.content.ionScrollEnd.subscribe((data)=>{
//... do things
});
}
Or do it from the DOM:
<ion-content (ionScroll)="onScroll($event)">
For Ionic 4
<ion-content [scrollEvents]="true" (ionScroll)="onScroll($event)">
You can use ngOnInit method to register the scroll event :
ngOnInit() {
if (this.content) {
this.content.ionScroll.subscribe((data)=>
this.keyboard.close();
});
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With