我试图在点击函数中调用类方法,如下所示:
class ClassName {
constructor(element) {
this.elem = element;
this.elem.on('click', function() {
this.notify();
});
}
notify() {
console.log("Element clicked!");
}
}
它不起作用,我认为因为(纠正我,如果我错了)在函数中使用 this.notify(); 意味着它指的是所述函数中的某些东西,而不是班级本身。我的问题是,是否可以从click函数中调用类方法?我是一般的新课程,我很感激建议。有没有更好的方法将类事件监听器添加到类中的元素?
答案 0 :(得分:0)
您可以使用箭头功能保持在同一范围内,否则this
如果处于正常功能状态,将不再引用您的对象。
class ClassName {
constructor(element) {
this.elem = element;
this.elem.on('click', () => {
this.notify();
});
}
notify() {
console.log("Element clicked!");
}
}
new ClassName($("button"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>