Поле класса CoffeeScript не определено - PullRequest
1 голос
/ 17 февраля 2012

Этот код передается в функцию и не переносит состояние моего объекта EmployeesController.Что я могу сделать, чтобы привязать мой объект EmployessController к событию focus?

class @EmployeesController 
  constructor: (@dateInput) ->
    @dateInput.focus(@searchInputGainedFocus)


  searchInputGainedFocus: ->
    console.debug @dateInput

Другими словами, console.debug печатает неопределенное значение, когда я даю фокус dateInput.

1 Ответ

5 голосов
/ 17 февраля 2012

Используйте "толстую стрелу" (=>) , чтобы связать searchInputGainedFocus с объектом:

Толстая стрелка => может использоваться как для определения функции, так и для привязки ее к текущему значению this, прямо на месте. Это полезно при использовании библиотек на основе обратных вызовов, таких как Prototype или jQuery, [...]

Итак, определите searchInputGainedFocus так:

class @EmployeesController 
  constructor: (@dateInput) ->
    @dateInput.focus(@searchInputGainedFocus)

  searchInputGainedFocus: =>
    console.debug @dateInput
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...