с обычными массивами значит такое провернуть не получится?
нет. у тебя компонент не в курсе, что в сервисе что-то поменялось. можно конечно извращаться с ивентами из чайлда, но зачем, если есть потоки
Подскажите еще, пожалуйста, какие есть ограничения в BehaviorSubject? Может он медленный или требует много памяти, что нужно еще о нем знать. У меня массив объектов очень большой, ~10 тыс. элементов, пару мегабайт данных. И при каждом создании/обновлении мне нужно пересобрать все данные, в основном это сортировка и небольшие мат. вычисления.
Ограничений нет, но Вам действительно нужно столько данных?
он норм. просто если ты выводишь не постранично, то хотя бы virtual scroll юзай
Может вы мне подскажете как оптимизировать работу с данными. У меня в БД хранятся записи, и у каждой есть свой тип. В сервисе я храню все данные, которые получил от сервера. Затем в компоненте узнаю ИД родительской записи по URL /category/:id и мне нужно выбрать из всех данных только те, которые являются дочерними определенного типа, отсортировать их, затем выбрать дочерние дочерних с тем же типом, отсортировать, и тд. рекурсивно. И когда я создаю новую запись, после обработки сервером добавляю в то же хранилище в сервисе и вот поэтому мне нужно было пересчитать все заново. Как можно улучшить этот алгоритм?
А нельзя грузить не все, а только то что нужно? Вы ж переходите на конкретную категорию,грузить нужные данные тогда уже
К сожалению нет, это приложение будет работать оффлайн, поэтому всегда загружает все, что есть в БД
тогда пагинация или вирт скролл. там тормозит не столько обработка массива, сколько рендеринг
После вставки новой записи пересчёт делать не надо. Надо вставить её в исходную структуру и выборку
Т.е. создавать BehaviorSubject нужно в родительском компоненте, а не в сервисе?
trackBy используете? OnPush?
не ко мне вопрос
Что именно тормозит в итоге, рендер или какие то алгоритмы внутри? TrackBy, OnPush юзаете?
Думается это в данном случае не поможет. Объект же каждый раз новый
Неважно, если есть способ идентифицировать обьекты
Ну тут вопрос, сколько сразу рисуется элементов? Уберите ненужные перерисовки и ограничьте количество
Ну это не ко мне ). Но я бы пагинацию прикрутил.
Сорян) я промахиваюсь)
Обсуждают сегодня