我只是想知道如何才能让它发挥作用?
尝试在onclick上引用方法
class C
@f: () ->
alert 'works'
null
constructor: () ->
console.log @f # why is this undefined?
document.onclick = @f
new C()
答案 0 :(得分:4)
这是因为@f
编译为this.f
而this
是构造函数本身。
要访问类方法f
,您必须编写C.f
:
class C
@f: () ->
alert 'works'
null
constructor: () ->
console.log C.f
document.onclick = C.f
答案 1 :(得分:3)
我假设您想要绑定实例方法而不是类方法
class C
#this defines a class method
@f: () ->
alert 'works'
null
#this is an instance method
f: () ->
alert 'works'
null
constructor: () ->
console.log @f # why is this undefined?
document.onclick = @f
new C()