Jah*_*han 8 typescript angular
我是 Angular 的新手。
我怎么解决这个问题?
我已经安装Angular CLI: 11.0.7
并Node: 12.18.4
错误:
错误:src/app/_services/account.service.ts:19:7 - 错误 TS2345:“OperatorFunction<User, void>”类型的参数不可分配给“OperatorFunction<Object, void>”类型的参数。“对象”类型可分配给很少的其他类型。您是想改用“any”类型吗?“对象”类型缺少“用户”类型中的以下属性:用户名、令牌
Run Code Online (Sandbox Code Playgroud)19 map((response: User) => { ~~~~~~~~~~~~~~~~~~~~~~~~~ 20 const user = response; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... 24 } ~~~~~~~~~ 25 }) ~~~~~~~~
账户.service.ts
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import {map} from 'rxjs/operators';
import { User } from '../_models/user';
import { ReplaySubject } from 'rxjs';
export class AccountService {
baseUrl = 'https://localhost:5001/api/';
private currentUserSource = new ReplaySubject<User>(1);
currentUser$ = this.currentUserSource.asObservable();
constructor(private http: HttpClient) { }
login(model: any) {
return this.http.post(this.baseUrl + 'account/login', model).pipe(
map((response: User) => {
const user = response;
if (user) {
localStorage.setItem('user', JSON.stringify(user));
this.currentUserSource.next(user);
}
})
)
}
}
Run Code Online (Sandbox Code Playgroud)
用户.ts
export interface User{
username: string;
token: string;
}
Run Code Online (Sandbox Code Playgroud)
Rac*_*naa 24
你需要投射 http.post 返回
login(model: any) {
//-------------- here ?? ------
return this.http.post<User>(this.baseUrl + 'account/login', model).pipe(
map((user : User) => {
if (user) {
localStorage.setItem('user', JSON.stringify(user));
this.currentUserSource.next(user);
}
})
)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3764 次 |
最近记录: |