クラスのインスタンス変数へのアクセスを維持しながら、反復関数で jQuery 要素を使用したいと考えています。
例えば:
class MyClass
myVar: true
myFunction: =>
$('div').each ->
console.log @.myVar # true?
console.log $(this) # div?
クラスのインスタンス変数へのアクセスを維持しながら、反復関数で jQuery 要素を使用したいと考えています。
例えば:
class MyClass
myVar: true
myFunction: =>
$('div').each ->
console.log @.myVar # true?
console.log $(this) # div?
あなたが尋ねた質問への答えは次のとおりです。太い矢印を使用しeach
て の値を維持し、@
渡されるインデックス/要素引数を使用しeach
て要素にアクセスします。
myFunction: =>
$('div').each (i, e) =>
console.log @myVar
console.log $(e)
また、@myVar
代わりに使用します@.myVar
(どちらも機能しますが@.myVar
、慣用的とは言えません)。
あなたが実際にやろうとしていることに対するより良い答えは、CoffeeScript を避けて使用each
することですfor/in
:
myFunction: ->
for div in $('div')
console.log @myVar # true
console.log $(div) # div