引用类/实例而不是对象文字属性的正确方法?
我有一个对象“foo”,其对象文字作为属性,如下所示。在该属性内,我想引用对象“foo”而不是对象文字本身。
这只能通过 hacks 来完成吗,即通过对象的变量名来引用对象?或者有更好的方法吗?
下面的示例 - 成功时应打印“woo”。
class Foo
myfunc: =>
console.log('woo')
testthing: {
'foo':'bar'
'baz':'boo'
'bop': =>
@myfunc()
}
window.foo = new Foo
foo.testthing.bop()
I have an object 'foo', with an object literal as a property, as shown below. Inside that property, I'd like to refer to the object 'foo' rather than the object literal itself.
Can this only be done with hacks, ie, referring to the object by its variable name? Or is there a better way?
Example below - should print 'woo' on success.
class Foo
myfunc: =>
console.log('woo')
testthing: {
'foo':'bar'
'baz':'boo'
'bop': =>
@myfunc()
}
window.foo = new Foo
foo.testthing.bop()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
像这样在构造函数中声明
testthing
允许将@myfunc
绑定到“实例”而不是“类”。您还可以使用
'bop': @myfunc
而不是'bop': => @myfunc()
传递任何参数:)Declaring
testthing
in the constructor like this allows@myfunc
to be bound to the 'instance' rather than the 'class'.You could also use
'bop': @myfunc
instead of'bop': => @myfunc()
to pass along any arguments :)