Ich bin ziemlich neu zu angular2, aber ich habe versucht, eine Login-Komponente zu schreiben. Alles funktioniert gut, außer nach einer erfolgreichen Anmeldung Ich möchte den Benutzernamen und das Passwort in meinem Sitzungsdienst (wo ich den Benutzernamen und das Passwort speichern, um grundlegende Auth-Header erstellen). Leider this._session.loggedIn
wird nie eingestellt. Jemand eine Idee warum?Angular2 Set-Variable auf abonnieren funktioniert nicht
export class LoginComponent {
public email = '';
public password = '';
constructor(
private _router: Router,
private _auth: AuthenticationService,
private _session: SessionService) {
}
login() {
this._auth.login(this.email, this.password)
.subscribe(
data => {
this._session.currentProfile = data;
this._session.loggedIn = true;
this._router.navigate(['Home']);
},
err => {}
);
}
}
AuthenticationService:
login(email, password){
return this._http.get('/profile')
.map(res => res.json());
}
Was ist die login() Methode? Wann sollte es aufgerufen werden? Wenn Sie abonnieren, wird ein Ereignis nicht dynamisch gesendet. –
@ KamilMyśliwiec Ich habe die Login-Methode hinzugefügt. nur ein einfacher http bekommen. Es wird beim Drücken der Taste aufgerufen. Das einzige Problem ist, dass im Callback der Subskribierung die Daten im Session Service nicht gesetzt werden – perotom