我有一个像这样定义的CoffeeScipt类
class Foo
a: 1
b: 2
main: ->
if a == 1
log(1)
log: (num) ->
console.log(num)
f = new Foo
f.main()
它一直错误地说没有定义日志。我试过让它@log:
也没用。我尝试将->
作为主=>
并且也无效。如何在类本身中调用实例方法?
答案 0 :(得分:8)
在调用实例方法和字段时使用@
而不是在定义:
class Foo
a: 1
b: 2
main: ->
if @a == 1
@log(1)
log: (num) ->
console.log(num)
f = new Foo()
f.main()
使用@
这样定义方法
@log: (num) ->
console.log(num)
让它们变得静止 在使用CoffeeScript进行开发时查看已编译的JS。