2017-11-23 2 views
-2

Ich habe eine Sitzungsvariable als JSON-Wert. Ich habe dies in meinem home.component.ts und muss auf diese Variable an mehreren Stellen zugreifen.Zugreifen auf Sitzungsspeicher über Anwendung in Winkel 2

mein Code:

.do(data => sessionStorage.setItem('homes', JSON.stringify(data))) 
var session = sessionStorage.getItem('homes'); 

Wie session Variable in der gesamten Anwendung zuzugreifen.

Antwort

0

Definieren Sie einen Service und injizieren Sie ihn in Ihre Komponenten. Definieren Sie darin einen Getter und Setter von sessionStorage und verwalten Sie ihn.

zum Beispiel:

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')); 
    } 
} 

Und dann in yout home.component.ts

constructor(private homeService: HomeService){} 

ngInit(){ 
this.homeService.setItem(data...); //pseudocode 
} 

und, wenn Sie die Daten abrufen wollen, müssen Sie einfach homeService.getItem() aufrufen.

+0

Ich bin neu bei angular2 freundlicherweise mit Proben helfen –

+0

Fertig, es ist ein bisschen Pseudocode, aber das ist die Art, wie ich das in meinem letzten Projekt implementiert –