Heute habe ich im Projekt auf ein sehr seltsames Problem gestoßen. Ich habe Oclazyload verwendet, um das Winkelmodul faul zu laden. Nachdem ich die Seite aufgeregt hatte, klickte ich auf die Schaltfläche Fallback und konnte nicht zur vorherigen Seite zurückkehren. Es wird geschätzt, dass der faule Lademechanismus verwendet wurde, um die Zustandsvereinigung innerhalb von Angular zu zerstören, was dazu führte, dass die Unfähigkeit, in den vorherigen Zustand zurückzukehren, nicht zurückkehren kann (das Ereignis von $ StatechangEnstart des UI-Routers im Fallback-Taste wird nicht ausgelöst). Dies ist natürlich nur eine Vermutung, und der Quellcode wurde aufgrund der Ereignisbeziehung nicht eingehend untersucht.
Lösungen, die nach dem Erfrischen des eckigen faulen Lademechanismus nicht zurückfallen können:
Durch die Betrachtung des Quellcode von Angular (ionic) wird festgestellt, dass der $ Browser -Dienst eine Onurlchange -Methode gibt. Wenn wir die URL -Adresse von externen Angular ändern, wird die in dieser Methode registrierte Ereignisbehandlungsfunktion, wie in der folgenden Abbildung gezeigt, aufgerufen:
Auf diese Weise können Sie eine Funktion im Programmeingang registrieren
// Wenn der Status durch die Fallback-/Vorwärts -Taste des Browsers neu geladen wird, wird die Seite neu geladen. Wenn der Systemzustand verwendet wird, wird diese Methode nicht eingegeben. $ browser.onurlChange (Funktion (URL) {// Todo analysiert den Status in der URL, verwendet faule Laden, um das Statusmodul zu laden, um die Seite aktualisiert zu werden});Durch diese Funktion können Sie die Seite erneut aktualisieren, wenn Sie zurückfallen und vorwärts gehen ...
Das obige ist die schnelle Lösung, dass der eckige faule Lademechanismus nach dem Erfrischen nicht zurückgerollt werden kann. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!