Существует несколько решений этой проблемы.
Первое, что вам нужно сделать, это получить ссылку на элемент HTML, из которого вы хотите получать события прокрутки. Я делаю вид, что этот элемент выглядит следующим образом (в вашем файле .html
компонентов):
<div>Some scrollable content</div>
Насколько я знаю, есть два способа получить ссылку на элемент HTML в AngularDart.
Первое решение:
Используйте аннотацию @ViewChild
. Чтобы это работало, вам нужно добавить ссылочную переменную шаблона к div
. Я называю это «прокручиваемым», однако вам решать, как вы это назовете.
<div #scrollable>Some scrollable content</div>
Затем добавьте следующее свойство в ваш класс компонентов:
@ViewChild("scrollable")
Element scrollable;
Второе (но не рекомендуемое) решение:
Добавьте идентификатор к div
(имя идентификатора не имеет значения):
Получите ссылку на div
с помощью document.getElementById()
, предоставленной dart:html
:
Element scrollable = document.getElementById('scrollable')
Проблема этого решения в том, что, насколько мне известно, document
недоступно ни в одном из хуков жизненного цикла AngularDart.
Наконец , чтобы прослушать поток onScroll
элемента scrollable
, просто сделайте следующее где-нибудь в вашем классе компонентов:
something.onScroll.listen((Event event) => print("Hurray, it works :)"))