Abonnieren nicht vorhanden ist vom Typ 'Abonnement'
Ich bin neu angualr 2. Und ich mache eine kleine Anwendung für die Praxis. Ich habe ein service für die Authentifizierung der Nutzer beim log-in. Und hier ist es die login-Funktion.
login(email:string, password:string){
var loginrul="https://filing.herokuapp.com/api/v1/auth/login/";
return this.http.post(loginrul,JSON.stringify({ password: password,email: email }),
{headers:new Headers({'Content-Type':'application/json'})}
).map(res=>res.json()).
subscribe(
data => localStorage.setItem('id_token',data.auth_token),
error=>console.log(error)
);
}
Wenn ich diese Funktion aufrufen, in der Komponente angualr Fehler gibt, dass "Eigentum abonnieren nicht vorhanden ist auf dem Typ 'Abonnement'.
doLogin(event) {
console.log(event);
console.log(this.loginForm.value);
let formData = this.loginForm.value;
let email = this.loginForm.controls.email.value;
let password= this.loginForm.controls.password.value;
this.auth.login(email,password).subscribe(res =>{
console.log(res);
if(res.status===200){
this.router.navigate(['dashboard']);
}
}
)
}
Ich denke, warum eckig gibt diesen Fehler, weil ich bin mit abonnieren in der login-Funktion als auch beim Aufruf der login-Funktion. Sie schlagen eine Lösung oder eine alternative Ansatz, um zu erreichen das Ergebnis das ich versuche zu erreichen, in der login-Funktion.
- Einfach nur wieder die "map ()" und "abonnieren" an den Anrufer
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre eigene Analyse des Problems ist richtig!!!! Entfernen Sie die
.subscribe
in Ihre Dienstleistung und benutzen Sie es nur in der Komponente, wo Sie es nutzen. Ihr service sollte zurück nach.map
Betreiber.Wenn Sie sich in den Dienst zurück
Subscription
statt einerObservable
, und das ist, warum Sie immer Ihre Fehler.