angular - 无法分配给 'GetUserByIdModel',因为它不是一个变量
我正在尝试填充一个模型,但出现错误:无法分配给 'GetUserByIdModel',因为它不是一个变量。
这是我的模型
export class GetUserByIdModel {
firstname: string;
lastname: string;
nationalityId: number;
identityTypeId: number;
identityValue: string;
titleId: number;
genderId: number;
contactChannels: Array<ContactChannel>;
}
export class ContactChannel {
type: number;
value: string;
}
然后我在服务文件中导入它并尝试使用它
声明
userDetails: GetUserByIdModel;
函数
getUserDetails(userId): Observable<GetUserByIdModel> {l
const token = this._storeService.getStoredData().id_token;
const headers = new HttpHeaders()
.set('Authorization', `Bearer ${token}`)
.set('Content-Type', 'application/json');
const options = { headers: headers };
const url = `${this.candidateUrl}/Get/${userId}`;
this._http.get<any>(url, options).subscribe((resp) => {
this.userDetails: GetUserByIdModel = {
firstname: resp.firstname,
lastname: resp.lastname,
nationalityId: resp.firstname,
identityTypeId: resp.identityTypeId,
identityValue: resp.identityValue,
titleId: resp.titleId,
genderId: resp.genderId,
contactChannels: [
{ type: 1, value: resp[0].value },
{ type: 2, value: resp[1].value }
],
};
})
return new Observable((observer) => {
observer.next(this.userDetails);
observer.complete();
});
}
我在这一行看到错误 this.userDetails: GetUserByIdModel={...
请协助
答案#1
移除类型 this.userDetails: GetUserByIdModel -> this.userDetails={..},因为它已经在声明时指定,并将字段设置为可空 firstName?, lastName?...