将值传递给CoffeeScript类的构造函数

时间:2013-02-24 13:31:27

标签: coffeescript

我正在尝试将值传递给CoffeeScript类的构造函数而不成功:

class A

  constructor: () ->

    @b = new B('FOO')


class B

  constructor: (@value) ->

  printValue: () =>
    console.log @value


当我从B的实例调用printValue时,控制台中会记录'undefined'。为什么'FOO'没有被记录?

更新

我应该提到Class A实例是在第三个C类中创建的,如下所示:

class C

  constructor: () ->

    @a = new A()


所有三个类都在不同的文件中,并按照C的顶部C顺序连接在一起。

1 个答案:

答案 0 :(得分:2)

当我这样做时,它运作得很好:

class B
  constructor: (@value) ->
  printValue: () -> alert @value

b = new B "foo"
b.printValue()

我猜你有一个空格缩进问题。由于CoffeeScript对空白敏感,因此您的选项卡/间距需要在同一块中保持一致。

转到http://coffeescript.org/并选择"尝试Coffeescript"。将其粘贴并按"运行"。

或者,考虑创建一个显示此问题的JSFiddle,因为我没有看到问题。