在Coffeescript中使用类时,我偶然发现了一个主要问题,让我举例说明
class Bet
constructor: () ->
placeBet: ->
$('#chips > div').bind 'click', ->
amount = $(this).attr 'id'
pile = $(this)
switch amount
when "ten" then this.bet pile, amount #This line causes a problem
bet: (pile, amount) ->
alert 'betting!'
上面对 this.bet 的调用生成以下错误:
未捕获的TypeError:对象#没有方法'bet'
因此,目前我的类的实例方法尚未被调用,
我如何正确地调用类的打赌方法而又不与jQuery选择器的this冲突(我想这是现在正在发生的事情)?
提前非常感谢您!
最佳答案
试试这个:
class Bet
constructor: () ->
placeBet: ->
that = this
$('#chips > div').bind 'click', ->
amount = $(this).attr 'id'
pile = $(this)
switch amount
when "ten" then that.bet pile, amount #This line causes a problem
bet: (pile, amount) ->
alert 'betting!'