Ich habe eine Überwachungsfunktion in meiner AngularJS-Anwendung.
$scope.$watch('quartzCrystal', function () {
...
}
Nach einer gewissen Bedingung (in meinem Beispiel durch Ändern der Seite in meiner Einzelseitenanwendung ) möchte ich diese Überwachung jedoch stoppen (z. B. beim Löschen eines Zeitlimits).
Wie kann ich das machen?
javascript
angularjs
watch
Kamaci
quelle
quelle
$on('$destroy')
) abzumelden, oder ob AngularJS sich um sie kümmert? Vielen Dank!scope. $ watch gibt eine Funktion zurück, die Sie aufrufen können und die die Registrierung der Uhr aufhebt.
Etwas wie:
quelle
Sie können die Uhr auch im Rückruf löschen, wenn Sie sie sofort löschen möchten, nachdem etwas passiert ist. Auf diese Weise bleibt Ihre $ watch bis zur Verwendung aktiv.
Wie so ...
quelle
Irgendwann ruft Ihre $ watch auf
dynamically
und erstellt ihre Instanzen, sodass Sie die Deregistrierungsfunktion vor Ihrer$watch
Funktion aufrufen müssenquelle
Im Idealfall sollte jede benutzerdefinierte Uhr entfernt werden, wenn Sie das Zielfernrohr verlassen.
Es hilft bei der besseren Speicherverwaltung und der App-Leistung.
quelle
Wenn Sie zu viele Beobachter haben und alle löschen müssen, können Sie sie in ein Array verschieben und alle
$watch
in einer Schleife zerstören .quelle
Zum Verwerfen der Kopie von Beobachtern können Sie Folgendes verwenden:
quelle