我有一个界面
export interface IEmployee{
id: string;
first_name: string;
}
在我的employee.service.ts
中 getEmployess():Observable<IEmployee>{
return this._http.get<IEmployee>(this._dataUrl);
}
在我的组件中
employees:Array<IEmployee>;
constructor(private _employeeService:EmployeeService){
this._employeeService.getEmployess()
.subscribe(
(data) => {
this.employees = data;
console.log(data);
}
)
}
我认识错误 [ts] Type&#39; IEmployee&#39;不能分配给&#39; IEmployee [] []&#39;。
我无法理解什么是错的。我希望服务中返回的数据应存储在employees数组中。
请帮忙。
答案 0 :(得分:2)
返回
getEmployess():Observable< Array<IEmployee>>{
return this._http.get<Array<IEmployee>>(this._dataUrl);
}
或
getEmployess():Observable< IEmployee[]>{
return this._http.get<IEmployee[]>(this._dataUrl);
}
答案 1 :(得分:1)
问题原因:
this.employees = data;
// this.employees is type of IEmployee[]
// data is type of IEmployee
解决方案 - &gt;只需改变:
getEmployess():Observable<IEmployee>
要
getEmployess():Observable<IEmployee[]>{
// OR
getEmployess():Observable<Array<IEmployee>>{
当您获得
IEmployee
的数组时,您已经定义了employees:Array<IEmployee>;