Я пытаюсь создать функцию бесконечной прокрутки для окна сообщения в проекте Angular7.
Когда он запускается, в почтовом контейнере находится 10 начальных элементов. После того, как пользователь прокручивает страницу вниз, он вызывает метод loadMore () и получает еще 10 сообщений.
Однако в следующий раз, когда пользователь прокручивает вниз обратный вызов, запускается на полпути вниз по странице, а в следующий раз, когда он делает это на четверть вниз. Через некоторое время, когда прокрутка началась, она почти мгновенная и продолжает получать данные через функцию обратного вызова.
Я считаю, что значения в функции обратного вызова не обновляются, но я не могу понять, почему. Кто-нибудь может мне помочь с этим?
// Настройка прослушивателя событий в onInit
ngOnInit(): void {
window.addEventListener('scroll', this.scroll, true);
}
// Функция обратного вызова прокрутки
scroll = (event:any): void=> {
if((window.innerHeight + window.scrollY) >= document.body.offsetHeight){
this.loadMore();
}
};
// функция loadMore ()
ngAfterViewInit(){
this.loadMore();
}