Это становится утомительно, когда нам нужно прокрутить элементы (скажем, определенный div внутри * ngFor). Лучший способ - получить текущую позицию и высоту элемента, используя:
, динамически назначать id каждому div * 1003.*
<div id="parentDiv" #parentDiv>
<div *ngFor="let data of content" [attr.id]=" 'section' + data.id">
<p>section {{data.id}}</p>
<botton (click)="scrollMyDiv(data)"></button>
</div>
</div>
и в .ts
scrollMyDiv(item) {
let section = 'section' + item.id);
window.scroll(0, 0); // reset window to top
const elem = document.querySelector('#' + section);
let offsetTop = elem.getBoundingClientRect().top` - x;
window.scroll(0, offsetTop);
}`
getBoundingClientRect().top
даст высоту сверху. x - это любое постоянное значение, например, высота вашего раздела заголовка.
в основном используется для предоставления функции, подобной scrollspy.