Как вы можете получить текущую позиционную информацию об элементе в Angular2

у меня есть ElementRef моего navbar, и я пытаюсь выяснить, насколько близко он к верхней части моего окна, чтобы я мог сделать его липким

<div class="nav-bar" #navBar>

</div>

@ViewChild("navBar")
  navBarElement;

я распечатываю позиции его nativeElement в событии прокрутки, но значения кажутся статическими

@HostListener('window:scroll', ['$event'])
onScroll(event) {
   console.log("offset top", this.navBarElement.nativeElement.offsetTop);
}

как я могу отслеживать текущее положение моего элемента?

1 ответов


offsetTop относительно его места в документе, а не относительно порта просмотра.

посмотреть как получить верхнюю позицию элемента относительно окна браузера? для того, как получить положение прокрутки.

например. var viewportOffset = el.getBoundingClientRect().top;