Укажите пример события $destroy. Вот справочная документация из http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy
$уничтожить()
Удаляет текущую область (и все ее дочерние элементы) из родительского объем. Удаление означает, что вызовы $digest() больше не будут распространяются на текущий объем и его детей. Удаление также подразумевает что текущая область действия имеет право на сбор мусора.
$destroy() обычно используется директивами, такими как ngRepeat для управление разворачиванием цикла.
Перед тем, как область действия будет уничтожена, событие $destroy транслируется этот объем. Код приложения может регистрировать обработчик события $destroy что даст возможность выполнить любую необходимую очистку.
Ответ 1
Демо: http://jsfiddle.net/sunnycpp/u4vjR/2/
Здесь я создал директиву handle-destroy.
ctrl.directive('handleDestroy', function() {
return function(scope, tElement, attributes) {
scope.$on('$destroy', function() {
alert("In destroy of:" + scope.todo.text);
});
};
});
Ответ 2
$destroy
может ссылаться на 2 вещи: метод и событие
1. метод - $scope. $destroy
.directive("colorTag", function(){
return {
restrict: "A",
scope: {
value: "=colorTag"
},
link: function (scope, element, attrs) {
var colors = new App.Colors();
element.css("background-color", stringToColor(scope.value));
element.css("color", contrastColor(scope.value));
// Destroy scope, because it no longer needed.
scope.$destroy();
}
};
})
event - $scope. $on ( "$ destroy" )
См. ответ @SunnyShah.