2013-02-24 25 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

相关问题