Coffeescript更新实例属性时出现问题
我在访问和更新我认为是coffeescript中的实例属性时遇到问题。我正在尝试更新@cart\u总数。我第一次更新总数时,效果很好。然而,它只是第一次起作用。似乎@cart\u总数只更新了一次 代码如下:Coffeescript更新实例属性时出现问题,coffeescript,Coffeescript,我在访问和更新我认为是coffeescript中的实例属性时遇到问题。我正在尝试更新@cart\u总数。我第一次更新总数时,效果很好。然而,它只是第一次起作用。似乎@cart\u总数只更新了一次 代码如下: class Cart constructor: ()-> @cart_total = 0.00 updateTotal: (amt)-> @cart_total = @cart_total + amt this.updateTotal(
class Cart
constructor: ()->
@cart_total = 0.00
updateTotal: (amt)->
@cart_total = @cart_total + amt
this.updateTotal( @lineItem.total )
当我调用updateTotal时,它似乎只是第一次起作用。我真的非常感谢您的帮助,谢谢
编辑:
我从类中调用updateTotal。我在上面添加了代码 因为您正在定义一个类,所以任何函数调用都应该在一个方法中。除非您试图创建类方法或变量,但我不相信这是您在这里试图实现的 这可能有助于:
class Cart
constructor: -> @cart_total = 0
updateTotal: (amt) -> @cart_total += amt
getTotal: -> @cart_total
addTen: -> @updateTotal 10
cart = new Cart
cart.updateTotal 9.50
console.log cart.getTotal()
cart.updateTotal 19.50
console.log cart.getTotal()
cart.addTen()
console.log cart.getTotal()
注意:间距是多余的,但我喜欢它的外观。祝你好运。你不必用javascript写0.00,因为只有一种数字类型,0就足够了。javascript中没有“实例变量”,因为没有类。您的函数应该可以工作,但是我们不知道您如何调用它。您如何调用
updateTotal
?也许上的演示会有所帮助,您可以在“面板”下选择CoffeeScript来使用CoffeeScript。@camus-我很感激关于0的指针。我更新了代码以显示如何调用updateTotal@mu-谢谢!我正在尝试学习如何使用jsfiddle.new来提供一个演示。并更新了我如何调用updateTotal。这根本不会执行,此
(将是购物车)在该上下文中没有updateTotal
方法: