假定我有個結構長這樣:
export class a {
public id: any;
public time: string;
public full: Date;
constructor(id:any, name:string, time:string){
this.time = time;
this.name = name;
this.id = id;
this.full = new Date(time);
}
}
這邊去伺服器撈資料
saveData:a[] =[];
this.http.get<any>("http://localhost/api/data/get").pipe(map(data => {
return {
d:{
id: data._id,
name: data.name,
time: data.time
}
}
})).subscribe(transforme=> {
this.saveData = transforme.d;
});
錯誤會寫是
[ts]
類型 '{ id: any; name: any; time: any;}' 不可指派給類型 'a[]'。
類型 '{ id: any; name: any; time: any;}' 遺漏屬性 'length'。
this: this
好饒舌...,不知道是遺漏了什麼,不能直接這樣餵?遺漏屬性 'length'
這是??
改這樣試試
saveData:Array<a> = new Array();
this.http.get<any>("http://localhost/api/data/get").pipe(map(data => {
return {
d:{
id: data._id,
name: data.name,
time: data.time
}
}
})).subscribe(transforme=> {
this.saveData.push(transforme.d);
});
froce
查了一下就是RxJS喔
這篇有提
https://ithelp.ithome.com.tw/articles/10186103
感謝大大,我應該是要先new a 出來存資料後,再this.saveData.push進去,差不多意思
有解決就好