Угловое использование памяти * ngIf - PullRequest
0 голосов
/ 25 ноября 2018

Правильно ли мое наблюдение, что хотя * хост-элемент ngIf отсутствует в DOM, он находится в памяти / куче.Поэтому он создает элемент хоста, но не присоединяет его к DOM.

Я в нем, потому что у меня огромный список.Внутри каждого элемента списка есть несколько * ngIfs.Я вижу много отдельных узлов и использование памяти.Когда я удаляю неиспользуемые * ngIfs, то счетчик моей памяти и отдельных узлов становится намного меньше.

Если это так, как лучше всего справиться с этим?Мне нужно решить во время выполнения, будет ли элемент иметь ввод, текст, поле выбора времени и т. Д.

Спасибо.

1 Ответ

0 голосов
/ 25 ноября 2018

Я думаю, что вы ошиблись, мы можем увидеть в документах angular.io:

NgIf тематическое исследование :

Когда условие ложно,NgIf удаляет свой хост-элемент из DOM, отсоединяет его от событий DOM (вложений, которые он сделал), отсоединяет компонент от обнаружения угловых изменений и уничтожает его. Компонент и узлы DOM могут собираться мусором и освобождать память .


Зачем удалять, а не скрывать? :

Несмотря на то, что компонент невидим, он и все его дочерние компоненты связывают ресурсы.Производительность и нагрузка на память могут быть значительными, скорость отклика может ухудшиться, и пользователь ничего не видит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...