错误TS2322:无法将类型“对象”分配给类型“接触”。角度

时间:2018-09-19 14:22:33

标签: angular angular5 angular6 angular-services

我想运行我的项目以在我的前端保存联系人,我在我的IDE webStorm中读到了这个谜题 src / app / new-contact / new-contact.component.ts(24,9)中的错误:错误TS2322:类型“对象”不能分配给类型“接触”。   “对象”类型可分配给很少的其他类型。您的意思是改用“ any”类型吗?     类型“对象”中缺少属性“ id”。

在new-contact.component.ts(24,9)行中(在.subscribe((data))中,我有此代码

saveContact(){
this.contactService.saveContact(this.contact)
  .subscribe((data)  => {
    this.contact = data;
    this.mode = 2;
  }, err=>{
    console.log("ErReUr : "+err);
  });

}

我有服务代码

saveContact(contact: Contact){
return this.http.post("http://localhost:8080/addPerson", contact);
}

我在项目中有一个班级,但是在项目中的一个文件中,这是代码

export class Contact {
   any = null;
   nom: string = '';
   prenom: string = '';
   email: string = '';
   tel: number = 0;
   photo: string = '';
   dateNAissance:Date;
 }

问题出在联系人的ID和对象

帮我,我想要一个解决方案,谢谢:)

1 个答案:

答案 0 :(得分:1)

尝试这样编写服务:

saveContact(contact: Contact){
  return this.http.post("http://localhost:8080/addPerson", contact) as Observable<Contact>;
}

I.E。返回它作为Contact类型的Observable。