2013-02-24 125 views
1

我是一個Coffeescript的新手,我想傳遞一個函數作爲參數,以便在動畫完成時用作回調函數。現在,我的「回調」正在我的動畫完成之前運行。如何將函數作爲參數傳遞給Coffeescript

closeItem: ($elem) -> 
    @close($elem, @myCallback($elem)) 

    close: ($elem, callback) -> 
    $elem.slideUp 300, (-> callback) 

回答

4

您的問題是,當您致電close時致電您的功能。我們在這裏超載條款,但你似乎想要關閉$elem變量以實現此目的。試試這個:

closeItem: ($elem) -> 
    @close $elem, => @myCallback($elem) 

close: ($elem, callback) -> 
    $elem.slideUp 300, callback 

注意的幾件事情:

我們正在使用的脂肪箭頭=>在調用@close。這將創建與當前對象的上下文中的功能,因此,它可以調用@callback,然後它在$elem關閉,以便它可以傳遞給@myCallback

此外,在close功能本身,你只是通過回調沿到slideUp

+0

太棒了!感謝您解釋爲什麼我以前的設置不正確。 – Jason 2013-02-24 04:22:22

相關問題