2017-07-14 6 views
1

Ich habe Benutzerservice, die mir eine E-Mail des angemeldeten Benutzers von localStorage zurückgeben. Ich muss eine Funktion erstellen, die diese E-Mail wie eine beobachtbare Daten weitergibt und auf Änderungen in der app.component hört, um diese E-Mail für angemeldete Benutzer im oberen Menü anzuzeigen, die in der app.component.htmlWie wickeln Daten in eine beobachtbare in Winkel 2?

ist

ich habe eine solche Funktion für eine regelmäßige Daten von localhost Rückkehr:

getUser(){  
    this.userEmail = JSON.parse(localStorage.getItem("user")).name; 
} 
+1

es ist nicht klar, was Sie wollen, aber wenn Sie einfach E-Mails in beobachtbare tun möchten, tun dies 'Observable.of (JSON.parse (localStorage.getItem ("Benutzer")). Name) ' –

+0

Ich möchte Benutzer erhalten Name in app.component wie dieser ngOnInit() { this.authService.getUser(). subscribe (Daten => { this.userEmail = Daten; }); } – rick1

+0

siehe meine Antwort dann –

Antwort

2

Nur of operator verwenden:

import { of } from 'rxjs/observable/of'; 

... 
getUser(){  
    return of(JSON.parse(localStorage.getItem("user")).name); 
} 
0

Versuchen Sie folgendes:

import {Observable} from "rxjs/Rx"; 

    getUser =() : Observable<any> =>{ 
    return Observable.create((obs: any) => { 
     obs.next(JSON.parse(localStorage.getItem("user")).name); 
     obs.complete(); 
    }); 
    }