Я создаю гибридное приложение с использованием ионного и AngularJS (AngularJS-материала). Это приложение также имеет встроенный чат, построенный с помощью Node.js и socket.io.
У меня теперь проблема, когда только 200 сообщений очень медленно загружаются, чтобы загружать все сообщения (200 мс в браузере → 4 с в приложении, даже с помощью CrossWalk, а также с треком через message.id), а также вводя в текстовое поле для вставки сообщения замедляется.
У меня есть два решения для решения этой проблемы:
- Виртуальный повтор (md-virtual-repeat)
- Бесконечный свиток (ионно-бесконечный свиток)
1) Я думаю, что виртуальный повтор будет лучшим решением (я уже реализовал его на другой странице, и он прокручивает 1500 элементов, как прелесть), но проблема в том, что сообщения могут иметь разную высоту на основе их длин и md -виртуальные требования повторения - все элементы должны иметь одинаковую высоту для работы.
2) Итак, возможно, мы можем повернуть к методу бесконечной прокрутки, но теперь проблема заключается в том, что выполнение этого с помощью директивы ion-infin-scroll становится немного сложной, так как чат должен запускать loadMore() при достижении вершины и а не внизу.
Итак, мой вопрос: У кого-нибудь есть обходное решение, чтобы иметь гладкий/быстрый ng-repeat внутри чата или директива виртуального повтора, которая может обрабатывать разные высоты или бесконечный свиток, который работает вверху?