Alle Daten sind beim erneuten Laden der Seite verschwunden. Gibt es eine Möglichkeit, das zu vermeiden?

8

Ich habe eine Dashboard-Anwendung in eckigen js entwickelt, die Suchfunktionalität und mehrere Ansichten mit vielen verschiedenen Daten hat, die von dieser Suchfunktion kommen.

Seine einseitige Anwendung. So habe ich Probleme auf der Seite neu zu laden alle Daten sind weg und es zeigt die Ansicht mit leeren Daten.

Gibt es eine Möglichkeit, dieses Problem oder eine andere Sprache zu lösen, die mir hilft, eine einzelne Seite zu erstellen und dieselben Daten beim erneuten Laden der Seite beizubehalten?

Jeder Vorschlag wird geschätzt.

Suchseite

Daten nach der Suche

Daten nach dem erneuten Laden

    
priya_singh 21.12.2016, 07:16
quelle

5 Antworten

3

Sie können sessionStorage verwenden, um & amp; Holen Sie sich die Daten.

Schritt 1:

Erstellen Sie einen Dienst factory , der die gespeicherten Sitzungsdaten basierend auf dem Schlüssel speichert und zurückgibt.

%Vor%

Schritt 2:

Geben Sie die StorageService-Abhängigkeit im Controller ein, um die Daten aus dem Sitzungsspeicher festzulegen und abzurufen.

%Vor%     
Rohit Jindal 21.12.2016, 08:36
quelle
1

Sie müssen Daten speichern, bevor Sie den Status der Anwendung ändern / auf eine andere Seite verschieben.

Speichern Sie diese Daten entweder mit

  • Angular services (Speichern Sie Daten, ändern Sie die Route, kehren Sie zurück, überprüfen Sie die Daten im Service und weisen Sie die Variablen dem Service neu zu.)
  • Local-storage zum Speichern von Daten. (Speichern Sie Daten, ändern Sie die Route, kehren Sie zurück, überprüfen Sie die Daten im Dienst und weisen Sie die Variablen dem Dienst neu zu.)
  • %Code%. Setzen Sie Daten in rootscope und verschieben Sie .. nach dem Zurückkommen überprüfen Sie die Variablen und neu zuweisen.
Atul Sharma 21.12.2016 08:28
quelle
1

Ihr Problem besteht nicht darin, die Daten zu speichern, sondern den Status in Ihrer URL zu speichern. Wie es ist, speichern Sie nur den "Schritt", aber keine anderen Informationen, wenn Sie also die Seite neu laden (aktualisieren, oder schließen / öffnen Sie den Browser, oder öffnen Sie ein Lesezeichen oder teilen Sie ...), haben Sie nicht alle die Informationen, die benötigt werden, um die ganze Seite wiederherzustellen.

Fügen Sie der URL die relevanten Bits hinzu (da Sie eine einzelne Seiten-App haben, wahrscheinlich in der Fragment-ID). Verwenden Sie diese Informationen zum Laden der Daten, anstatt sich auf andere Mechanismen zu verlassen, um Daten zwischen den "Seiten" zu übertragen.

    
jcaron 21.12.2016 08:45
quelle
0

Erhalte Daten bei der Seitenaktualisierung, etwa so wie

%Vor%     
Mr_Perfect 21.12.2016 07:41
quelle
0

Verwenden Sie localStorage oder speichern Sie Daten vorübergehend für Benutzer in einer Datenbank auf Ihrem Server, und rufen Sie sie mit einem API-Aufruf (localspeicher hat 10 MB) zurück.

Sie können Ihren Code zunächst versuchen, lokale Speicherwerte abzurufen, sofern sie vorhanden sind.

    
deek 21.12.2016 08:10
quelle

Tags und Links