Я разрабатываю приложение для чата на основе Iionic 3 - Firebase, использующее базу данных Firebase Realtime для хранения сообщений, загрузки их в приложение и немедленного их отображения.
Когда открывается чат, я загружаю сообщения, используя следующуюограниченный запрос, поэтому после ввода я только 100 последних сообщений:
this.messagesRef = this.afDB.list(
`/messages/${this.me.uid}/conversations/${this.contact.uid}/messages`, ref =>
.limitToLast(100)).valueChanges();
, который возвращает наблюдаемую коллекцию, и я могу привязать ее непосредственно к угловому шаблону, поэтому, когда приходят новые сообщения или даже другой пользователь удаляетсообщение, чат обновляется.
Но у этой реализации есть две серьезные проблемы: каждый раз, когда я отправляю или получаю сообщение, последнее показанное сообщение скрывается, потому что оно выходит за пределы 100.Кроме того, я не могу реализовать бесконечную прокрутку для загрузки предыдущих сообщений, так как я не могу найти способ добиться этого.
Каково решение для соответствующего увеличения предельного диапазона при поступлении новых сообщений?Как я могу реализовать предыдущую загрузку сообщений в этом сценарии?