此代码传入一个函数,并未传递EmployeesController对象的状态。如何将EmployessController对象绑定到焦点事件?
class @EmployeesController
constructor: (@dateInput) ->
@dateInput.focus(@searchInputGainedFocus)
searchInputGainedFocus: ->
console.debug @dateInput
换句话说,当我给出dateInput焦点时,console.debug会打印undefined。
答案 0 :(得分:5)
使用"fat arrow" (=>
)将searchInputGainedFocus
绑定到对象:
胖箭头
)时,这很有用=>
可以用来定义一个函数,并将其绑定到当前值this
,就在现场。当使用基于回调的库(如Prototype或jQuery,[...]
所以定义searchInputGainedFocus
就像这样:
class @EmployeesController
constructor: (@dateInput) ->
@dateInput.focus(@searchInputGainedFocus)
searchInputGainedFocus: =>
console.debug @dateInput