Сохранять позицию прокрутки при удалении элемента из ng-repeat

У меня есть ng-repeat, который загружает сообщения из базы данных Firebase. Я загружаю элементы в обратном порядке, чтобы новые сообщения появлялись в верхней части списка (аналогично Facebook). Я смог сохранить положение прокрутки для пользователя, если в верхнюю часть добавлен новый элемент, однако, когда сообщение удалено, я не могу оставить сообщение, на которое смотрел пользователь. Div сместит содержимое, чтобы заполнить пустое пространство. Есть ли элегантное решение этой проблемы? Я могу сделать это, если каждый пост имеет одинаковую высоту, однако разные посты имеют разную высоту.

Я поддерживаю прокрутку при добавлении сообщения, скорее всего, неаккуратным методом. В ng-repeat я добавляю класс "first". Используя Arrijs, когда загружается новый элемент ".first", я вычисляю высоту сообщений и scrollTop контейнера и просто делаю некоторые математические вычисления.

Любые предложения с благодарностью.

0 ответов

Другие вопросы по тегам