Recoger cuando un usuario se desplaza en Ionic 2 me confunde. Básicamente quiero decir, cuando un usuario se desplaza hacia abajo en la página, haga algo.
Cualquier ejemplo sería genial.
ACTUALIZAR:
Tengo esto en mi constructor, así que cuando la página se desplaza, quiero cerrar el teclado, debido a que se dejó abierto y no hay otra forma de cerrarlo.
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(); }); } } Sin embargo, recibo este error. Cannot read property 'ionScroll' of undefined . ¿Lo estoy poniendo en el lugar equivocado?
Puede suscribirse a eventos de contenido.
El contenido tiene 3 eventos de salida :
Escuchar un evento:
@ViewChild(Content) content: Content; // ... ngAfterViewInit() { this.content.ionScrollEnd.subscribe((data)=>{ //... do things }); }O hazlo desde el DOM:
<ion-content (ionScroll)="onScroll($event)">Para iónico 4
<ion-content [scrollEvents]="true" (ionScroll)="onScroll($event)">Puede usar el método ngOnInit para registrar el evento de desplazamiento:
ngOnInit() { if (this.content) { this.content.ionScroll.subscribe((data)=> this.keyboard.close(); }); } }Cuando esté dentro de una directiva personalizada, intente con algo como esto:
import { Renderer2 } from '@angular/core'; ... constructor(private renderer: Renderer2) {} ngOnInit() { this.renderer.listen(this.myElement, 'scroll', (event) => { // Do something with 'event' console.log(this.myElement.scrollTop); }); }