Подтвердить что ты не робот

Укажите пример события $destroy.

Укажите пример события $destroy. Вот справочная документация из http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy

$уничтожить()

Удаляет текущую область (и все ее дочерние элементы) из родительского объем. Удаление означает, что вызовы $digest() больше не будут распространяются на текущий объем и его детей. Удаление также подразумевает что текущая область действия имеет право на сбор мусора.

$destroy() обычно используется директивами, такими как ngRepeat для управление разворачиванием цикла.

Перед тем, как область действия будет уничтожена, событие $destroy транслируется этот объем. Код приложения может регистрировать обработчик события $destroy что даст возможность выполнить любую необходимую очистку.

4b9b3361

Ответ 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.