Ich versuche, beim Kaufvorgang einer App Daten zwischen den Seiten zu übermitteln, aber es funktioniert nicht so, wie es sollte. Ich habe etwas gelesen und die meisten Leute empfehlen, einen Dienst zu verwenden, aber das einzige Problem ist, dass wenn die Seite aktualisiert wird (Benutzer klickt auf Aktualisieren oder zu einem späteren Zeitpunkt zurückkommt) alle Daten vom Dienst verschwinden. Dies ist sinnvoll, da die Daten in einem Service nicht dauerhaft sein sollen, sondern ein Problem verursachen.
Die Frage ist also: Wie kann ich Daten zwischen Seiten in angularJS übergeben und trotzdem die Daten behalten, die nach einer Seitenaktualisierung übergeben wurden?
Hier ist mein Code soweit (mit meinem Versuch, Abfragezeichenfolgen zu verwenden):
%Vor%Dafür gibt es mehrere Möglichkeiten,
Hinweis: Nur die ersten beiden sind persistent.
In Ihrem Fall denke ich, dass die Verwendung von local storage oder cookiestore die besten Optionen sind. Sie versuchen, einen Dienst zu verwenden, der geeignet wäre, wenn Sie nicht möchten, dass er dauerhaft ist (die Seite verlässt oder eine Seite aktualisiert). Services sind Singletons, die von eckigen verwaltet werden, wenn Sie injiziert werden, erhalten Sie bei jeder Injektion eine Referenz auf das gleiche Objekt. Beim Zurückkehren zur Seite muss dieser Singleton neu initialisiert werden, wodurch alle vorherigen Daten verloren gehen. Die einzige Möglichkeit, einen Dienst persistent zu machen, besteht darin, die Daten von einer anderen Datenbank aus einer Datenbank, einer lokalen Datei oder von noSQL zu laden. Ich glaube jedoch nicht, dass Sie das wirklich wollen.
Wenn Sie daran interessiert sind, die lokale Speicherimplementierung zu verfolgen, dann schauen Sie sich diese Module angular-local-storage an. ngStorage oder dieses answer
Wenn Sie den Cookiestore in dieser Antwort
Tags und Links angularjs