CoffeeScripts类 - 获得财产回调(CoffeeScripts classes - ac

2019-10-17 09:19发布

我有简单的问题。 我有Foo类和构造器我开始计时。 在定时器的回调我想警报类属性,但我会得到“未定义”,为什么呢?

class Foo
  simpleProperty: "fooBar"

  constructor: ->
    setInterval @runBar, 1 * 1000
    return

  runBar: ->
    alert @simpleProperty #undefined, why?
    return

foo = new Foo()

谢谢您的帮助!

Answer 1:

由于作用域的this (或@中的CoffeeScript的情况下)。

你应该用一份丰厚的箭头:

runBar: =>
  alert @simpleProperty #fooBar

看到它的工作在这里 。



Answer 2:

在我的理解,如果你调用函数foo.runBar() this指针将与对象绑定foo

所以在功能, this.simpleProperty将被视为foo.simpleProperty

显然,它返回undefined



文章来源: CoffeeScripts classes - access to property in callback