我正在尝试将值传递给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顺序连接在一起。
答案 0 :(得分:2)
当我这样做时,它运作得很好:
class B
constructor: (@value) ->
printValue: () -> alert @value
b = new B "foo"
b.printValue()
我猜你有一个空格缩进问题。由于CoffeeScript对空白敏感,因此您的选项卡/间距需要在同一块中保持一致。
转到http://coffeescript.org/并选择"尝试Coffeescript"。将其粘贴并按"运行"。
或者,考虑创建一个显示此问题的JSFiddle,因为我没有看到问题。