2014-07-07 19 views
23

Possiedo un'app AngularJs. Io uso Controller per alcuni ambiti figlio. In ogni controller posso impostare un numero di variabili che appartengono all'ambito child corrispondente. Quando AngularJs crea un'istanza di un controller, esiste un costruttore in cui è possibile impostare un valore predefinito per le variabili child-scope.Distruttore di Angularjs Controller

Ho un "distruttore" di controller? Come faccio a sapere quando un controller si sta chiudendo e l'ambito viene pulito (distrutto dalla funzione $ destroy)?

Grazie!

risposta

45

Bisogna ascoltare l'$destroyevento, ad esempio:

function MyController($scope, ...) { 
    ... 
    $scope.$on("$destroy", function handler() { 
     // destruction code here 
    }); 
} 

documenti rilevanti: https://docs.angularjs.org/api/ng/type/$rootScope.Scope

+0

Viene emesso dal '$ scope', quindi sì, ovunque si ha accesso al' $ scope', puoi ascoltarlo. Essenzialmente il '$ scope' viene distrutto ed emette questo evento; il controllore viene distrutto in conseguenza di ciò, quindi è in qualche modo indiretto, ma comunque stabile. –

Problemi correlati