2016-06-02 5 views
1

Ich versuche, eine kleine Facebook Login mit Winkel 2 zu bauen, aber auch ich Problem habe, nachdem den Benutzer in der Facebook-Anmeldung zu/home umgeleitet würdeAbrufen von Daten von Express-Server mit Winkel 2

app.get('/home', function (req, res) { 
    res.sendfile(path.join(__dirname, '../', 'views', 'index.html'), { user: req.user}); 
    console.log({ user: req.user}); 
}); 

Ich versuche, die Benutzerinformationen in angular2 Seite anzuzeigen, aber ich werde immer undefiniert. Konsole Protokollierung des Objekts funktioniert gut.

verwendete ich die gleiche Methode mit ejs Dateien res.render und mit diesem in den EJS

<%= user.facebook.name %> 

verwenden und es funktioniert gut. Ich habe versucht, {{}} im Winkel 2 zu verwenden, aber nicht funktioniert. Hilfe bitte?

dank

Antwort

0

Ich würde dieses Element definieren, wenn die Anwendung Bootstrapping. Da dieser Hinweis nur innerhalb Ihrer index.html Seite verfügbar ist, würde ich die folgende Verarbeitung verwenden.

Aktualisieren Sie die Datei, die Ihre Anwendung Schopf aus dem Sumpf:

import {bootstrap} from '...'; 
import {provide} from '...'; 
import {AppComponent} from '...'; 

export function main(facebookUser) { 
    bootstrap(AppComponent, [ 
    provide('user', { useValue: facebookUser }) 
    ]); 
} 

diesen Wert aus der auf diese Weise index.html Datei bereitstellen:

0

ok danke für die antworten ich habe die antwort auf meine frage gefunden. dieser code ruft die api auf und ruft die benutzerdetails

constructor(private http: Http) { } 

ngOnInit() { 
    this.getUser(); 
} 

getUser() { 
    this.http.get('/api/user') 
     .map((res:Response) => res.json()) 
     .do(data => console.log('data: ' + JSON.stringify(data))) 
     .subscribe(
      data => { this.user = data.user.facebook.name}, 
      err => console.error(err), 
      () => console.log('done') 
     ); 

}