2012-02-16 64 views
1

此代码正在传入一个函数,并且没有继承我的EmployeesController对象的状态。我能做些什么来将我的EmployessController对象绑定到焦点事件上?CoffeeScript类字段未定义

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


    searchInputGainedFocus: -> 
    console.debug @dateInput 

换句话说,当我给dateInput焦点时,console.debug打印undefined。

回答

5

使用"fat arrow" (=>)结合searchInputGainedFocus对象:

箭头=>可以用于两者的脂肪定义一个函数,并且将其绑定到的this的电流值,右当场。

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

    searchInputGainedFocus: => 
    console.debug @dateInput 
:使用基于回调的库时,像原型或jQuery的,[...]

所以定义searchInputGainedFocus这样,这是很有帮助