Canvas 用咖啡脚本在画布上画画

Canvas 用咖啡脚本在画布上画画,canvas,scope,coffeescript,Canvas,Scope,Coffeescript,我有两个文件 工具,咖啡 咖啡 代码的要点是,如果您无法判断,则在画布元素上绘制。在过去的几天里,我一直在努力让它发挥作用,但我并没有走多远。我学到的东西是 工具。定义了pencil,但未定义pencil的任何方法。我不明白这是为什么 感谢您的帮助,我认为这与coffeescript中内置的作用域有关。原因如下: tools.pencil = => ... “胖箭头”将函数绑定到当前值this。这将是全球范围 使用“细箭头”(->)不会进行函数绑定,因此应该会得到预期的结果 你可能会

我有两个文件

工具,咖啡 咖啡 代码的要点是,如果您无法判断,则在画布元素上绘制。在过去的几天里,我一直在努力让它发挥作用,但我并没有走多远。我学到的东西是

工具。定义了pencil
,但未定义pencil的任何方法。我不明白这是为什么


感谢您的帮助,我认为这与coffeescript中内置的作用域有关。

原因如下:

tools.pencil = =>
  ...
“胖箭头”将函数绑定到当前值
this
。这将是全球范围

使用“细箭头”(
->
)不会进行函数绑定,因此应该会得到预期的结果

你可能会考虑这样的事情:< /P>
class Pencil
  started: false
  mousedown: (e) -> ...
  ... etc

tools =
  pencil: new Pencil()
tools.pencil = =>
  ...
class Pencil
  started: false
  mousedown: (e) -> ...
  ... etc

tools =
  pencil: new Pencil()