有以下代码:

@rootScope.$on('$viewContentLoaded', @stopProcessing)

stopProcessing: ->
  @processCount--
  @processCount = 0 if @processCount <= 0


当我执行此代码时,它不会正常工作,因为@processCount不会更改。我知道为什么会这样-@ rootScope。$ on中的“ this”链接到@rootScope,而不是针对我的对象(我在其中执行$ on以及存储stopProcessing函数的位置)。如何以正确的方式修复它?提前致谢!

最佳答案

在coffeescript中,如果您希望this坚持声明上下文(声明回调的对象),则应在stopProcessing声明中使用粗箭头(=>)。

stopProcessing: =>
  @processCount--
  @processCount = 0 if @processCount <= 0

关于javascript - 参数功能中的“This”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34172740/

10-10 05:42