我有一个会话变量作为JSON值。我在home.component.ts
中有这个,需要在多个地方访问此变量。
我的代码:
.do(data => sessionStorage.setItem('homes', JSON.stringify(data)))
var session = sessionStorage.getItem('homes');
如何在整个应用程序中访问session
变量。
答案 0 :(得分:0)
定义服务并将其注入yout组件。 在此内部,定义sessionStorage的getter和setter并对其进行管理。
例如:
import { Injectable } from '@angular/core';
@Injectable()
export class HomeService {
constructor() { }
public setItem(data: any){
sessionStorage.setItem('homes', JSON.stringify(data));
}
public getItem(){
return JSON.parse(sessionStorage.getItem('homes'));
}
}
然后在你的home.component.ts
constructor(private homeService: HomeService){}
ngInit(){
this.homeService.setItem(data...); //pseudocode
}
并且,当您想要检索数据时,您只需调用homeService.getItem()。