Ich bin neu in Angual 2. Und ich mache eine kleine Anwendung für die Praxis. Ich habe einen Dienst für die Authentifizierung von Benutzern, wenn sie sich einloggen. Und hier ist es Login-Funktion.Subscribe existiert nicht vom Typ 'Abonnement'
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 nenne diese Funktion in der Komponente angualr Fehler gibt, dass „Eigentum abonnieren existiert nicht auf 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 Winkel diesen Fehler zu geben, weil ich abonnieren bin mit in der Login-Funktion sowie beim Aufruf der Login-Funktion Bitte schlagen Sie eine Lösung oder einen alternativen Ansatz vor, um das Ergebnis zu erreichen, das ich in der Login-Funktion erreichen möchte
Geben Sie einfach die map() zurück und abonnieren Sie beim Aufrufer – Fals