CoffeeScript - 访问实例变量和jQuery元素

时间:2013-10-28 19:03:42

标签: jquery coffeescript

我想在迭代函数中使用jQuery元素,同时保持对类的实例变量的访问。

例如:

class MyClass

  myVar: true

  myFunction: =>
    $('div').each ->
      console.log @.myVar # true?
      console.log $(this) # div?

1 个答案:

答案 0 :(得分:2)

您提出的问题的答案是:使用带有each的胖箭头来维护@的值,并使用传递给each的索引/元素参数来访问元素:

myFunction: =>
  $('div').each (i, e) =>
    console.log @myVar
    console.log $(e)

另外,使用@myVar代替@.myVar(两者都有效,但@.myVar远非惯用。)

更好回答您实际要做的事情是,避免each并使用CoffeeScript的for/in

myFunction: ->
  for div in $('div')
    console.log @myVar # true
    console.log $(div) # div