Ich habe eine Anwendung, die sowohl Angular und Ruby on Rails verwendet. Einige meiner Angular-Controller erstellen $ Intervalltimer, die abgebrochen werden müssen, wenn der Benutzer zu einer neuen Seite navigiert. This Stack-Überlauf Antwort unter anderem besagt, dass die beste Lösung, den Code unten in den Winkelregler mit dem Timer einzufügen ist:
$scope.$on('$destroy', function() {
$interval.cancel(timerName);
});
Allerdings, wenn ich dies tun und einen Haltepunkt in diesem Code festgelegt, wenn das Debuggen, Der Haltepunkt wird nie erreicht. Dies bedeutet, dass das Ereignis $destroy
niemals bei Seitenänderungen ausgelöst wird. Ich frage mich, wie ich dieses Ereignis auslösen kann, oder ob es eine bessere Möglichkeit gibt, meine Timer zu beenden, wenn der Benutzer zu einer anderen Seite navigiert.
Ich habe mit kantigem manchmal die Haltepunkte funktionieren nicht bemerkt. Haben Sie versucht, durch ein console.log zu ersetzen, um sicherzustellen, dass es nicht getroffen wird? –