Я новичок в угловой платформе, и у меня проблема с производительностью вложенных циклов * ngFor, используемых для отображения иерархических данных.
- * ngFor - 10 панелей расширения (уровень 1) для каждого элемента
- * ngДля списка 10 элементов (уровень 2) для отображения содержимого
- * ngДля 5 элементов (уровень 3) 5 переключателей кнопок и 2 элемента управления
Чтобы избежать загрузки всех данных, я устанавливаю коллекцию для 2nd * ngFor, основываясь на текущей открытой панели с уровня 1.
Вся страница очень медленная, когда я расширяю панель или когда япытаясь нажать кнопку переключения.Примечание: я не изменяю коллекции с этими действиями.
Для отладки я помещаю функцию в каждый ngFor, чтобы возвращать коллекции.Я видел, что каждый раз, когда я нажимаю кнопку переключения, angular многократно повторяет все итерации во всех директивах * ngFor.
Я не понимаю, почему все итерации необходимы каждый раз, когда я меняю элемент управления.Как улучшить производительность в этом случае?
Пример кода, воспроизводящего проблему на stackblitz !