1

私はCoffeescriptの初心者で、アニメーションが完了したときにコールバックとして使用される引数として関数を渡したいと思っています。現在、アニメーションが完了する前に「コールバック」が実行されています。

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

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

1 に答える 1

4

問題は、を呼び出すときに関数を呼び出していることですclose。ここでは用語をオーバーロードしてい$elemますが、これを実現するために変数を「閉じる」必要があるようです。これを試して:

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

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

いくつかのことに注意してください。

=>の呼び出しで太い矢印を使用しています@close。これにより、現在のオブジェクトのコンテキストを使用して関数が作成され、呼び出し@callbackてから閉じて$elem、に渡すことができます。@myCallback

また、close関数自体では、コールバックをに渡すだけですslideUp

于 2013-02-24T04:11:28.823 に答える