是否有方便的方法在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 。
答案 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 = {};
如文档中所述,它是直接的。