Ошибка TypeError: this is not a function
Так как this.draw внутри функции указывает на текущий контекст, а как тогда обратиться к внешнему контексту?
class Example {
constructor() {
document.addEventListener('mousemove', function() {
this.draw('mousemove');
});
}
draw(e) {
console.log(e);
}
}
let example = new Example;
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
попробуйте такой код:
class Example {
constructor() {
document.addEventListener('mousemove', this.mousemove.bind(this), false)
}
mousemove(e) {
this.draw('mousemove');
};
draw(e) {
console.log(e);
}
}
let example = new Example;
дело в том, что this внутри безымянной функции уже не является указателем на класс