我有一个angular2app。我将数据存储到localstorage中。每当动作获取chage本地存储数据时都会清除。如何将此本地存储数据存储到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 3,但事情会被存储到本地存储中,如:
[{name: "abc", timestamp:time, type: "typename"}].
然后在我clik之后,数组将更新到
[{name: "abc", timestamp:time, type: "typename"}, {name: "pqr", timestamp:time, type: "typename"}].
但刷新页面并单击同一项后,先前存储的数据将丢失,并使用新值更新数组。但实际上我需要的是一个新的附加数组。这意味着先前存储的数据和新存储的数据。我该如何实现呢?
如何将此本地存储数据存储到ngrx商店以获取所有回收。我是angular2和ngrx商店的新手。任何帮助高度赞赏。
答案 0 :(得分:0)
我知道这已经是一个相当陈旧的问题了,但是偶然发现了这个问题,我正在研究类似的问题。
我正在使用ngrx-store-localstorage,如果您使用rehydrate选项,此模块会自动将ngrx-store与localstorage同步。
希望有助于任何人绊倒这个问题。