我有一个对象'foo',对象文字作为属性,如下所示。在该属性中,我想引用对象'foo'而不是对象文字本身。
这只能用黑客来完成,即通过变量名引用对象吗?或者有更好的方法吗?
下面的示例 - 应该在成功时打印'woo'。
class Foo
myfunc: =>
console.log('woo')
testthing: {
'foo':'bar'
'baz':'boo'
'bop': =>
@myfunc()
}
window.foo = new Foo
foo.testthing.bop()
答案 0 :(得分:3)
class Foo
constructor: ->
@testthing =
'foo':'bar'
'baz':'boo'
'bop': => @myfunc()
myfunc: =>
console.log('woo')
在这样的构造函数中声明testthing
允许@myfunc
绑定到'instance'而不是'class'。
您也可以使用'bop': @myfunc
代替'bop': => @myfunc()
传递任何参数:)