获取 Angular 组件的滚动位置

doe*_*doe 3 angular

如何使用带有 fromEvent 的组件获取滚动位置?

我用它来获取鼠标位置,如何从顶部位置滚动?

this.mouseMoveSubscription = fromEvent(this.elementRef.nativeElement, 'mousemove')
                  .subscribe((e: MouseEvent) => {...});
Run Code Online (Sandbox Code Playgroud)

这不起作用:

ngOnInit() {
    this.scrollSubscription = fromEvent(this.elementRef.nativeElement, 'scroll')
                  .subscribe((e: Scroll) => {
                    console.log(e.position);
                  });

  }
Run Code Online (Sandbox Code Playgroud)

也没有为此触发任何事件(来自:answer):

@HostListener('scroll', ['$event']) // for scroll events of the current element
onScroll(event) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

jpa*_*vel 5

看来您只是在错误的事件属性中寻找位置。

fromEvent(this.elementRef.nativeElement,'scroll')
      .subscribe((e: Event) => console.log({
        scrollPosition: e.target['scrollTop']
        }));
Run Code Online (Sandbox Code Playgroud)

看看这个演示