`this` не привязан в методе-прототипе
У меня есть странная проблема с функцией стрелки:
Предполагается, что функции-стрелки имеют контекст этой границы в методе-прототипе (в данном случае в методе класса es6), но в этом случае "this" не определено внутри 1-й лямбды
apply(bookings) {
if (!bookings.length) {
return
}
bookings.forEach(booking=> {
//this is undef here
let matchingTimeSlot = this.timeSlots.find(item=>item.bookingDate.isSame(booking.bookingDate))
})
apply
вызывается из другого класса es6:
this.days[i].apply(currentDaysBookings);
1 ответ
Решение
это не здесь
Пожалуйста, обратите внимание, что ваши инструменты отладки могут лгать вам. this
будет на самом деле доставляется в _this
или что-то типа того. Вы должны посмотреть на сгенерированный JavaScript. Я могу заверить вас, что это будет иметь _this
(или как там это называется), указывая на правильную вещь.