【发布时间】:2018-03-05 15:59:00
【问题描述】:
我有一个类,它有一个构造函数。
我通过this.something 分配了一个类变量,并且没有在同一个类中的某个其他函数中访问它。
下面是我的课
class A {
some_func() {
console.log(this.var1); // this is giving undefined
}
constructor(socket, var1) {
this.socket = socket;
this.var1 = var1;
this.socket.on('some event', some_func);
}
}
在some_func 函数内部,变量未定义。
我该如何解决?
【问题讨论】:
-
在
some_func()中创建一个console.log(this);。检查这是否实际上是指 a 类或套接字。您可能需要将其称为some_func.bind(this) -
当您分配一个函数时,您的
this上下文不会自动附加到函数调用中,.. 要解决这个问题,您可以这样做 ->this.some_func.bind(this) -
@palash 对!
bind()方法完成了工作!干杯!
标签: javascript class methods event-handling