Ниже приведены документы из angular. Я просматриваю несколько переменных, которые являются частью этой области, чтобы создать строку фильтра для ng-grid. Когда эта область уничтожается, мне НЕОБХОДИМО удалить их, вызвав возвращаемое значение из $scope. $Watch, или это разрушение области, достаточной для того, чтобы справиться с этим? Что делать, если наблюдаемые переменные НЕ были частью этой области?
Я буду утечка памяти из-за проблем с производительностью, если я не "вытаскиваю" переменные, которые уничтожаются вместе с областью.
$уничтожить()
Удаляет текущую область (и все ее дочерние элементы) из родительской области. Удаление означает, что вызовы $digest() больше не будут распространяться на текущую область и ее дочерние элементы. Удаление также подразумевает, что текущий объем имеет право на сбор мусора.
$destroy() обычно используется директивами, такими как ngRepeat для управления разворачиванием цикла.
Перед тем, как область будет уничтожена, в этой области транслируется событие $destroy. Код приложения может регистрировать обработчик события $destroy, который даст ему возможность выполнить любую необходимую очистку.
Обратите внимание, что в AngularJS также существует событие $destroy jQuery, которое может использоваться для очистки привязок DOM до удаления элемента из DOM.