网站搜索

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?...