Angular 2 - 在会话中存储的便捷方式

时间:2016-05-11 13:52:00

标签: angular

是否有方便的方法在sessionStorage中保存而无需手动监视属性更改并进行更新?

例如,我有一个带有“查询”属性的SearchComponent。

export class SearchComponent {
    private query: String;
    private searchResult: SearchResult;
    ...

每次查询或searchResult发生更改(并且还有更多属性)时,我都必须手动更新sessionStorage。

sessionStorage.setItem('query', query);

像自动完成工作的注释之类的东西会很棒:

export class SearchComponent {
    @SessionStored
    private query: String;
    @SessionStored
    private searchResult: SearchResult;
    ...

我已经找到了类似的解决方案here。但是这个不适用于 sessionStorage

1 个答案:

答案 0 :(得分:8)

我刚试过&它对LocalStorage和amp; sessionStorage的。尝试使用以下步骤:

第1步:

npm install --save angular2-localstorage

第2步:

import { LocalStorageService } from 'angular2-localstorage/LocalStorageEmitter'
import { SessionStorage } from 'angular2-localstorage/WebStorage'
constructor(storageService: LocalStorageService){}

第3步:

@LocalStorage() public lastSearchQuery:Object = {}

,或者

@SessionStorage() public lastSearchQuery:Object = {};

如文档中所述,它是直接的。

参考:https://github.com/marcj/angular2-localstorage