【问题标题】:Local storage and ngrxstore本地存储和ngrx存储
【发布时间】: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


    【解决方案1】:

    我知道这已经是一个很老的问题了,但只是偶然发现了这个问题,并且正在研究类似的问题。

    我正在使用 ngrx-store-localstorage,如果您使用 rehydrate 选项,此模块会自动将 ngrx-store 与 localstorage 同步。

    希望对遇到这个问题的人有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-11-10
      • 2017-12-06
      • 2012-02-23
      • 2012-05-05
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多