2013-02-13 25 views

回答

4

這是因爲@f編譯爲this.fthis引用一個方法是構造函數本身。

要訪問類的方法f你必須寫C.f

class C 

    @f:() -> 
     alert 'works' 
     null 

    constructor:() -> 
     console.log C.f 
     document.onclick = C.f 
+1

你也可以使用'@constructor。如果你不想拖拽一個顯式的類名, – 2013-02-13 18:26:54

+0

是的,它也可以工作,感謝@ muistooshort! :-) – zbynour 2013-02-14 08:27:44

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()