angularjs - example - setinterval angular 5
¿Puede alguien proporcionar un ejemplo de un evento $ destroy para los ámbitos en AngularJS? (2)
Demostración: http://jsfiddle.net/sunnycpp/u4vjR/2/
Aquí he creado la directiva manejar-destruir .
ctrl.directive(''handleDestroy'', function() {
return function(scope, tElement, attributes) {
scope.$on(''$destroy'', function() {
alert("In destroy of:" + scope.todo.text);
});
};
});
¿Alguien puede proporcionar un ejemplo del evento $ destroy de scope? Aquí está la documentación de referencia de http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy
$ destruir ()
Elimina el ámbito actual (y todos sus elementos secundarios) del ámbito principal. La eliminación implica que las llamadas a $ digest () ya no se propagarán al ámbito actual y sus hijos. La eliminación también implica que el alcance actual es elegible para la recolección de basura.
El $ destroy () se usa generalmente en directivas como ngRepeat para gestionar el desenrollado del bucle.
Justo antes de que se destruya un ámbito, se transmite un evento $ destroy en este ámbito. El código de la aplicación puede registrar un controlador de eventos $ destroy que le dará la oportunidad de realizar cualquier limpieza necesaria.
$destroy
puede referirse a 2 cosas: método y evento
1. Método - $ alcance. $ Destruir
.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''s no longer needed.
scope.$destroy();
}
};
})
2. evento - $ scope. $ On ("$ destroy")
Ver la respuesta de @ SunnyShah .