【发布时间】:2017-06-24 11:08:38
【问题描述】:
我有一个 angular2app。我将数据存储到本地存储中。每次获取 chage 本地存储数据的操作都会清除。如何将此本地存储数据存储到 ngrxstore 中。我有以下内容:
组件.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"}].
然后我点击后数组将更新到
[{name: "abc", timestamp:time, type: "typename"}, {name: "pqr", timestamp:time, type: "typename"}].
但在刷新页面并单击同一项目后,先前存储的数据将丢失,并且数组将更新为新值。但实际上我需要的是一个新的附加数组。这意味着以前存储的数据和新存储的数据。我该如何实现?
如何将此本地存储数据存储到 ngrx 存储以获取所有事件。我是 angular2 和 ngrx 商店的新手。任何帮助都非常感谢。
【问题讨论】:
标签: javascript angular local-storage ngrx