Это почти наверняка неправильный ответ, потому что, скорее всего, это не англоязычный способ делать вещи, но почему бы просто не использовать raw javascript?
Трюк, однако, заключается в получении элемента. Вот как я это делал в прошлом:
В шаблоне каждому элементу потребуется ссылочная переменная, например:
<input #myRef ... />
Тогда в компоненте вам нужно использовать дочернее представление:
import { ElementRef, ViewChild } from '@angular/core';
...
export class MyClass {
@ViewChild('myRef') input: ElementRef;
myFocusFunction() {
this.input.nativeElement.focus();
}
}
Это то, как вы бы сфокусировались на элементе, но вы также можете использовать это, чтобы затем определить смещение по оси x или y элемента и затем прокрутить до нужной позиции на странице.
Так что-то вроде этого:
let rect = this.input.nativeElement.getBoundingClientRect();
window.scrollTo(rect.top, 0);