délier un élément angulaire
J'ai le code suivant à l'intérieur d'une directive et je veux faire en sorte qu'il soit nettoyé lorsque la portée est détruit. J'ai regardé en ligne ainsi que le code et je me demandais comment faire pour supprimer la liaison d'un élément.
var window = angular.element($window);
window.bind("resize", function(e){
abc();
});
Solution:
var abc = function() {};
var window = angular.element($window);
window.bind('resize', abc);
scope.$on('$destroy', function(e) {
window.unbind('resize', abc);
});
source d'informationauteur Blake Niemyjski
Vous devez vous connecter pour publier un commentaire.
Séparer la fonction de
window
lorsque la directive est détruit. Donc dans votre directive, vous allez appeler une fonction nettoyage sur le champ d'application de la détruire de l'événement:$scope.$on('$destroy', cleanUp);
Créer un
cleanUp
la fonction et l'appel de jQuery séparer la fonction.Il y a un exemple dans cette SORTE d'entréemais avec le
off
fonction de la place (qui semble similaire àunbind
mais indisponible dans jqLite). Aussi par cette SORTE d'entrée, vous pourriez avoir à le nom de votre fonction que vous aurez besoin de faire référence à nouveau en tant que paramètre dans launbind
appel.