CoffeeScript 类字段未定义

发布于 2025-01-06 04:38:55 字数 353 浏览 1 评论 0原文

这段代码正在传递一个函数,并且没有继承我的EmployeesController对象的状态。我可以做什么来将我的 EmployessController 对象绑定到焦点事件?

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


  searchInputGainedFocus: ->
    console.debug @dateInput

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

This code is passing in a function and is not carrying over the state of my EmployeesController object. What can i do to bind my EmployessController object to the focus event?

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


  searchInputGainedFocus: ->
    console.debug @dateInput

In other words, console.debug prints undefined when i give dateInput focus.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情场扛把子 2025-01-13 04:38:55

使用“粗箭头”(=>)searchInputGainedFocus 绑定到对象:

粗箭头=>可用于定义函数,并将其绑定到this的当前值,就在现场。当使用基于回调的库(例如 Prototype 或 jQuery)时,这非常有用,[...]

因此定义 searchInputGainedFocus 如下:

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

  searchInputGainedFocus: =>
    console.debug @dateInput

Use the "fat arrow" (=>) to bind searchInputGainedFocus to the object:

The fat arrow => can be used to both define a function, and to bind it to the current value of this, right on the spot. This is helpful when using callback-based libraries like Prototype or jQuery, [...]

So define searchInputGainedFocus like this:

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

  searchInputGainedFocus: =>
    console.debug @dateInput
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文