2013-03-08 52 views
0

我可以這樣做:扎帕的NodeJS使用@應答,@request在調用的函數

require('zappajs') -> 
    @get '/':-> console.log(@response) 

但是當我嘗試這個

require('zappajs') -> 
    @get '/': -> foo() 

    foo = -> 
     console.log(@response) 

@應答是不確定的。所以顯然'這'現在已經超出了範圍。我嘗試使用=>函數定義而不是->,這意味着要通過'this'...但它沒有區別。 我可以使用@helper

require('zappajs') -> 
    @get '/':-> @foo() 

    @helper foo: -> 
     console.log(@response) 

是,這樣做的唯一辦法達到預期的效果?

回答

0

你失去範圍,當你調用你的函數一樣,foo(),保留的範圍,你必須調用foo這樣的:

foo.apply(this)foo.call(this)