Coffeescript の行を次のようにコンパイルしようとすると、次のようになることに気付きました。
$note.find('a.close').bind 'click', (event) =>
$(this).parent().remove()
は$(this)
にコンパイルされます$(_this)
。これは、私が を使用していることを考えると理にかなってい=>
ます。->
問題は、後でこのスコープでローカル変数を使用する必要がある場合に備えて、使用する必要がないということです。
$this
正しくコンパイルするには、バッククォートで 2 行目をエスケープする必要があります。
`$(this).parent().remove()`
…またはもっと良い方法はありますか?
更新 (2012 年 7 月 12 日):
私はこれをやってしまった:
close = -> $note.remove()
$note.find('a.close').bind 'click', (event) ->
close()
setTimeout close, duration
の使用を完全に回避していることはわかっていますが、プレーンな JS での開発でしばしば必要とthis
なる同じトリックを使用するよりも、クリーンなソリューションのように思えます。self = this