[英]Function not defined error while calling it inside map - typescript
我在函數中有以下地圖
mainFunc(){
// other logics
data.map(function (item) {
item.number = Math.round(item.number);
item.total = item.last - item.first;
item.quantity= item?.quantity ? quantityRange(item?.quantity): '';
});
// other logics
}
quantityRange(quantity){
if(quantity){
if(quantity < 100) return "Less Quantity";
if(quantity < 500) return "Average Quantity";
else return "Good Quantity"
}
}
我在mainFunc()
quantityRange()
之外有 quantityRange(),我在地圖內的三元運算符內調用它。 當我運行我的代碼時,我得到錯誤quantityRange()
未定義。 我們不能在打字稿的地圖中使用這樣的功能嗎?
任何幫助,將不勝感激。
mainFunc(){
// other logics
const self = this; // make sure you are not loosing this
data.map(function (item) {
item.number = Math.round(item.number);
item.total = item.last - item.first;
item.quantity= item?.quantity ? self.quantityRange(item?.quantity): '';
});
// other logics
}
您應該使用 this 關鍵字調用該方法,為此您應該綁定 this。 有不同的方法可以做到這一點,其中之一就是將其保存在變量中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.