Возможно, вы захотите создать директиву атрибута .
Вы можете легко создать директиву , используя Angular CLI со следующей командой (вы можете указать путь как имя core / directives / my-directive-name ):
ng generate directive <name-of-directive>
Затем в конструкторе вы можете добавить следующее, чтобы получить ссылку на элемент.
el: ElementRef
Наконец, используя HostListener или любую технику для привязки к событию прокрутки. Вы можете сделать вызов вашей привязки к коду элемента (придется изменить, чтобы просто проверить себя), затем элемент проверит, нужно ли самому инициировать прокрутку. И если оно соответствует условию, тогда оно отвечает.
Для получения дополнительных бонусных баллов вы можете добавить входные данные для настройки, а когда, например, привязаться к элементу, ваш шаблон с директивой будет выглядеть так:
<div [myDirective] [scrollAt]="300"></div>
И тогда в самой директиве вы бы получили:
@Input() scrollAt: number = 300 // sets a default incase it isn't provided;
Затем вы можете использовать эту переменную для границы вашего представления.
Надеюсь, это поможет или, по крайней мере, поставит вас на правильный путь!