【发布时间】:2020-09-29 10:15:33
【问题描述】:
我有一个界面:
export interface MyMedicine {
_id: String;
name: String;
quantity: Number;
time: String;
}
这是我发布数据的角度服务:
postMed(newMed): Observable<MyMedicine[]>{
var headers = new HttpHeaders();
headers.append('Content-Type', 'application/json');
return this.http.post<MyMedicine[]>(`${this.url}/api/medicine`, newMed, {headers:headers});
}
这是我的 addmedicine() 组件,用于在提交表单时发布数据:
addmedicine(){
const newMedicine = {
name: this.name,
quantity: this.quantity,
time: this.time
};
this.medService.postMed(newMedicine)
.subscribe(medicine =>{
this.medicines.push(medicine);
})}
我收到一条错误消息,提示“'MyMedicine[]' 类型的参数不可分配给 'MyMedicine' 类型的参数。 类型“MyMedicine[]”缺少类型“MyMedicine”中的以下属性:_id、名称、数量、时间”
我已经在我的组件中导入了接口和服务。依赖注入已被处理。 _id 是 MongoDB 生成的默认 id。
【问题讨论】:
-
你可以试试
this.medicines = [...this.medicines, ...medicine]吗? -
@VLAZ 正好相反。
postMed返回一个元素数组,this.medicines.push需要一个元素。 -
@Emilien 我试过你的方法,我得到一个错误“类型'MyMedicine []'缺少类型'MyMedicine'的以下属性:_id,名称,数量,时间”
标签: angular typescript observable mean-stack