У меня есть ng-repeat, который загружает тысячи записей с некоторой сложностью, которая может иметь высоту между 100px и 1200px. Излишне говорить, что спектакль получает настоящий удар.AngularJS бесконечная прокрутка (ng-repeat) - удаление верхних элементов из DOM
Infinite scrolling модуль будет работать нормально, в большинстве случаев, пока вы не нажмете край, где вы прокрутили вниз, и большинство элементов были загружены в DOM, что возвращает меня к квадрату.
Angular-vs-repeat был бы идеальным для моего случая, но я не понял, как вычислить каждую следующую высоту элемента, так как они не фиксированы.
Который возвращает меня к бесконечной прокрутке. Я предполагаю, что если верхние элементы (над окном просмотра) будут заменены пустой DIV с вычисленной высотой, равной их общей сумме высоты, производительность не будет проблемой. Пока прокрутка вернет их обратно в dom и вычитает пустую высоту DIV.
Неужели кто-то решил это раньше? Какие-либо предложения? Фрагменты кода были бы замечательными.
Трудно, чтобы вы помогли без примера. Cany вы воспроизводите имитационный случай через codepen/...? –
Я сам искал ту же самую технику прокрутки, но никогда не реализовывал ее, поскольку это было бы чрезмерным. У меня также были элементы различной высоты, поэтому существующие плагины должны быть изменены. Если нам удастся указать, в какой производительности будет работать, и мне нужно будет реализовать виртуальную прокрутку, я бы очень внимательно посмотрел на вышеупомянутую директиву +, вероятно, добавлю дополнительные функции, такие как сохранить 1.5 страницы элементов сверху и снизу (люди могут нанести удар по дому и концу ключи) и текущие элементы представления. Между ними были бы пустые контейнеры-макеты, скорректированные по высоте. –
Checkout vs-repeat demo page, у него есть демонстрация с использованием элементов с переменным размером http://kamilkp.github.io/angular-vs-repeat/#?tab=6 –