Подгрузка новых данных при скролле в AngularJS

Нужно показывать достаточно длинный (но не бесконечный) список фотографий, о котором известно, что в зависимости от разрешения фото могут показываться по одной или по две в ряд.
Делается это только на одном экране, а не во всем приложении (т.е. надо снимать обработчики событий и навешивать их снова при заходе на нужный экран).
Да, и еще — у нас нет jQuery, только AngularJS 1.0.8.
Сначала было решено делать все через сервис навешивания обработчиков событий, который снимает все обработчики при смене урла.
Но т.к. AngularJS-ное подобие не поддерживает нэймспэйсы для событий, то будут сниматься все обработчики на элементе, что неправильно.
Поэтому было решено сделать так:

app.js

Когда уходим на другой контроллер, $scope уничтожится, и обработчик вместе с ним.

Шаблон:

Сервисы:

Контроллер

2 Responses so far.

  1. А почему бы не использовать какой-нибудь плагин для этого, например https://github.com/BinaryMuse/ngInfiniteScroll

LEAVE A COMMENT