2017-02-07 23 views
0

私はangular2appを持っています。自分のデータをローカルストレージに保存しました。 chageローカルストレージデータを取得するアクションがクリアされるたびに。このローカルストレージのデータをngrxstoreにどのように格納できますか?私は、次があります。ローカルストレージと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; 
} 
} 

私の見解は以下のとおりです。

  • ABC
  • PQR ----->これはリストです。
  • QWE

私はABCをクリックしていますが3つの事が似ローカルストレージに格納されます:

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

、私はCLIK後、アレイは

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

にアップデートを取得します。しかしページを更新して同じ項目をクリックすると、以前に保存されたデータは失われ、配列は新しい値で更新されます。しかし、私が必要とするのは、新しい追加配列です。これは、以前に記憶されたデータおよび新たに記憶されたデータを意味する。これをどのように実装できますか?

すべてのevntを取得するために、このローカルストレージデータをngrxストアに格納する方法を教えてください。私はangular2とngrxストアが初めてです。どのような助けも高く評価されます。

答えて

0

これはすでにかなり古い質問ですが、これに遭遇したばかりで、似たようなことに取り組んでいます。

私はngrx-store-localstorageを使用しています。このモジュールは、rehydrateオプションを使用している場合、ngrx-storeとlocalstorageを自動的に同期します。

誰もがこの問題を抱えているのに役立ちます。

関連する問題