Как синхронизировать прокрутку в двух отдельных компонентах в Angular? - PullRequest
0 голосов
/ 30 апреля 2020

я пытаюсь добиться синхронизации горизонтальной и вертикальной прокрутки между тремя компонентами. Один из них ( содержимое ) можно прокручивать в обоих направлениях, боковое меню , расположенное сбоку от содержимого, можно прокручивать только по вертикали, а верхнюю панель (помещается поверх содержимого) можно прокручивать только по горизонтали.

Я создал сервис с двумя свойствами (scrollTop $ и scrollLeft $), чтобы все упомянутые компоненты подписывались на те, которые относятся к их. Служба также имеет два метода setScrollTop и setScrollLeft , используемые для публикации новых значений.

При получении новых значений подписчики устанавливают значения scrollTop / Left в соответствующих элементах dom, но это заставляет их обнаруживать его как событие прокрутки и приводит к отправке обновления. Есть ли лучший способ сделать это?

...