2017-05-21 5 views
0

Ich habe gerade angefangen mit Angular4 und NodeJS zu arbeiten.Angular4 Store NodeJS Daten

Ich habe eine Anmelde-Anfrage, die Daten (z. B. Benutzerrolle, Vorname, Nachname) an meine eckige App sendet und in einer Variablen speichert. Wenn ich die Seite neu lade, sind die Variablen jedoch wieder leer.

Also habe ich mich gefragt, gibt es eine Möglichkeit, dies zu vermeiden (z. B. die notwendigen Daten auf jeder Seite neu laden?). Oder gibt es eine bessere Praxis, um die Daten, die Sie von einer Postanfrage erhalten, in eckigen zu speichern? Localstorage und Sessionstorage scheinen mir nicht wirklich sicher zu sein.

Ich habe versucht, dies für ein paar Stunden zu googlen, aber ich konnte keine passende Antwort finden.

Mit freundlichen Grüßen,

AE

+0

Werfen Sie einen Blick auf Auflösung https://angular.io/docs/ts/latest/api/router/index/Resolve-interface.html –

Antwort

2

Wenn Sie nur von einer Strecke zu anderen navigieren mit
this.router.navigate(['/heroes']);

dann können Sie Ihre Daten in einem Service-Variable speichern oder zwischen den Routen passieren this.router.navigate(['/heroes', { firstName: 'First Name', lastName: 'Last Name' }]);

Wenn Sie planen, die Seite explizit neu zu laden, hat angular keine Kontrolle darüber, da http statesless prot ist ocol.You kann in Erwägung ziehen, LocalStorage oder Cookies zu verwenden, um Ihre Daten bei Bedarf zu speichern.

Alternativ überprüfen Sie Angular Resolve, um die Daten zu laden, bevor Sie Ihre Komponente in Betrieb nehmen, damit Sie alle Daten im Voraus zur Verfügung haben.