Прежде всего, вы никогда не должны использовать jQuery с Angular, они делают одно и то же, поэтому бесполезно иметь и то и другое, все, что jQuery делает Angular, может делать тоже самое. Так что это не рекомендуется. Поэтому, если это крайне не нужно, не используйте.
Вы не можете наблюдать никаких изменений в свойстве scrollTop
, так как оно не перемещает body
, но перемещает тег содержимого внутри него. Существует content
компонент , который можно использовать для получения этого свойства. Так что сделайте это:
Ваша страница .ts
import { Component, ViewChild } from '@angular/core';
import { Content } from 'ionic-angular';
@Component({...})
export class MyPage{
@ViewChild(Content) content: Content;
public scrollPost: number = 0;
getScrollTop() {
this.scrollPost = this.content.scrollTop;
}
}
Ваш HTML:
<ion-content (ionScroll)="getScrollTop()">
<!-- your page content -->
</ion-content>
При этом вы всегда будете менять значение scrollPost
на прокручиваемое значение, но если вам нужно использовать это значение где-нибудь одним щелчком, не просто добавьте щелчок к вашему ion-content
или любой щелчок к любому элемент внутри него не будет работать, вместо этого используйте кнопку или сделайте то, что вам нужно сделать внутри метода getScrollTop
.
Надеюсь, это поможет.