我的应用程序运行正常,但出现以下错误:
“对象”类型的参数不能分配给类型的参数 'string')
在我的代码下面:
public login(userData: any): Observable<any> {
return this.http
.post("/api/users/login", userData)
.map(token => this.saveToken(token));
}
private saveToken(token: string): string {
localStorage.setItem("car_auth", token);
return token;
}
答案 0 :(得分:0)
正如错误所述,您将Object
分配给string
。
尝试这样替换您的代码:
public login(userData: any): Observable<string> {
return this.http
.post("/api/users/login", userData)
.map((token: string) => this.saveToken(token));
}
private saveToken(token: string): string {
localStorage.setItem("car_auth", token);
return token;
}
答案 1 :(得分:0)
Transcompiler需要提示您http.post
返回的内容,因为您键入了saveToken
的参数。 Transcompiler希望确保您要传递字符串。
添加显式类型:
public login(userData: any) {
return this.http
.post("/api/users/login", userData)
.map((token: string) => this.saveToken(token));
}