從類api到類型轉換類的類型轉換json響應後,我無法訪問該類的方法。Typescript - 在沒有創建類的新實例的情況下在類中轉換默認方法
class Stock {
name: String;
purchaseDate: Date;
constructor() {}
convertDates() {
this.purchaseDate = new Date(this.purchaseDate);
}
}
getAll() {
return this.http.get(URL + '/find').map(
(response) => {
this.stocks = response as Array<Stock>;
_.forEach(this.stocks, (stock) => {
stock.convertDates();
}
},
(error) => {
this.stocks = [];
}
);
}
我如下得到一個錯誤信息: 「stock.convertDates不是一個函數」。 如果我通過響應中的所有股票列表循環並在調用「convertDates」方法之前爲每個股票創建一個實例,則此工作原理沒有任何錯誤。下面是它的代碼:
_.forEach(response, (stock) => {
let newstock = new Stock();
_.merge(newstock, stock);
newstock.convertDates();
this.stocks.push(newstock);
});
查看關於此問題的接受答案,它解釋了您遇到的問題。 https://stackoverflow.com/questions/22875636/how-do-i-cast-a-json-object-to-a-typescript-class – supersighs