2017-02-07 4 views
0

Ich habe eine angular2app. Ich habe meine Daten im lokalen Speicher gespeichert. Jedes Mal, wenn die Aktion die lokalen Speicherdaten löscht, wird gelöscht. Wie kann ich diese lokalen Speicherdaten in ngrxstore speichern? Ich habe folgendes:Lokaler Speicher und ngrxstore

component.ts

onClickRoom(room: string): void { 
this.date = new Date(); 
this.evntList = new events('', '', ''); 
this.evntList.timestamp = this.date; 
this.evntList.name = room; 
this.evntList.type = this.type; 
console.log("eventList:", this.evntList); 
this.eventArray.push(this.evntList); 
this.tokenmanager.store(this.eventArray); 
console.log('Room clicked: ', this.eventArray); ---> This event array successfully updating. 
} 

globalstorage.ts

@Injectable() 
export class TokenManager { 

public tokenKey: string = 'app_token'; 

constructor() { } 

store(content) { 

    localStorage.setItem(this.tokenKey, JSON.stringify(content)); 

} 

retrieve() { 
    let storedToken: any = localStorage.getItem(this.tokenKey); 


    if (!storedToken) throw 'no token found'; 
    return storedToken; 
} 
} 

Meine Ansicht ist:

  • abc
  • pqr -----> Dies ist eine Liste.
  • qwe

Während ich abc 3 Dinge bin, klicken wie in lokalen Speicher gespeichert zu bekommen:

[{name: "abc", timestamp:time, type: "typename"}]. 

dann, nachdem ich in clik wird das Array

[{name: "abc", timestamp:time, type: "typename"}, {name: "pqr", timestamp:time, type: "typename"}]. 

Aber aktualisieren erhalten Nach dem Aktualisieren der Seite und dem Klicken auf das gleiche Element gehen die zuvor gespeicherten Daten verloren und das Array wird mit einem neuen Wert aktualisiert. Aber eigentlich brauche ich ein neues angehängtes Array. Das bedeutet zuvor gespeicherte Daten und neu gespeicherte Daten. Wie kann ich das umsetzen?

Wie kann ich diese lokalen Speicherdaten zu Ngrx Store für alle events speichern. Ich bin neu bei angular2 und ngrx store. Jede Hilfe wird sehr geschätzt.

Antwort

0

Ich weiß, dass das schon eine ziemlich alte Frage ist, aber bin gerade auf diese gestoßen und arbeite an etwas ähnlichem.

Ich verwende ngrx-store-localstorage, dieses Modul synchronisiert automatisch einen ngrx-Speicher mit dem lokalen Speicher, wenn Sie die rehydrate-Option verwenden.

Hoffe, dass jeder hilft, auf dieses Problem zu stolpern.

Verwandte Themen