Wie setzt man $ rootScope zurück?

8

Nachdem sich der Benutzer abgemeldet hat, muss ich mein $ rootScope bereinigen. Ich habe $rootScope.$destroy() ausprobiert, aber das hat nicht funktioniert. Gibt es eine Möglichkeit, alle Werte in $ rootScope durchzulaufen und sie zu löschen oder eine Methode, um sie einfach zurückzusetzen?

    
iMad 18.06.2015, 04:51
quelle

3 Antworten

9

Sie möchten möglicherweise die Standardwerte beibehalten, die mit $rootScope bei der Initialisierung geliefert werden. Da sie alle mit einem $ beginnen, können Sie alle Eigenschaften löschen, die nicht mit $ beginnen.

%Vor%

Sie können den Aufruf vereinfachen, indem Sie ihn als Funktion in $rootScope hinzufügen.

%Vor%     
soote 18.06.2015, 05:08
quelle
4
  
  • Tatsächlich funktioniert die Methode $destroy() nicht mit $ rootScope (siehe hier ). Ich habe daran gearbeitet, indem ich $rootScope.$broadcast("$destroy") anstelle von .$destroy() aufgerufen habe, wenn eine ganze Angular-Instanz in unserer App entfernt wurde. Auf diese Weise werden alle Destruktoren gleich aufgerufen.

  •   
  • Was das Element $ destroy event anbelangt, muss ich zugeben, dass ich es erst vor ein paar Tagen noch nicht einmal gewusst hatte ... Ich hatte es nirgends in den Dokumenten gesehen, außerdem benutze ich jQuery so hier würde es sowieso nicht funktionieren.

      

Referenz von hier

Das ist eine lange Beschreibung, aber Sie können die RootScope manuell löschen, indem Sie die folgenden Möglichkeiten verwenden

Option 1

Löschen Sie die rootScope-Variable

%Vor%

Option 2

Wenn Sie ganze $ rootscope-Objekte entfernen möchten,

%Vor%     
Ramesh Rajendran 18.06.2015 04:56
quelle
2

Löscht eine Variable aus dem rootScope

%Vor%     
Sajeetharan 18.06.2015 04:54
quelle