AngularJS - удалить привязки, чтобы избежать утечек памяти - программирование
Подтвердить что ты не робот

AngularJS - удалить привязки, чтобы избежать утечек памяти

Каким образом в AngularJS можно отключить привязки?

У меня есть приложение no- angular, которое загружает компонент, который использует angularjs для привязки данных. В какой-то момент я хочу уничтожить компонент и хочу быть уверенным, что утечек памяти нет. Как сообщить angular удалить все прослушиватели событий из этой части DOM?

Будет ли $(node).remove() делать трюк или делать angular другие вещи в памяти, которые нужно очистить...? Любые другие советы по предотвращению mem-утечек в angular будут оценены.

4b9b3361

Ответ 1

Просто удаление элемента DOM с областью видимости с чем-то вроде remove() не избавится от области видимости в памяти. Вы можете подтвердить это, удалив элемент и просмотрев Batarang, или получив родительскую область и проверив ее дочерние элементы. Вы увидите, что область все еще существует... Так что вы также захотите вызвать $destroy() в самой области.

Более подробную информацию о $destroy() можно найти здесь.

EDIT: Единственное, что я не уверен, это то, что он полностью удаляет область действия или просто отключает ее, и позволяет JavaScript GC заботиться обо всем остальном.