导轨 3.2.8。在将我的一些 JS 函数转换为 CoffeeScript 时,我遇到了几个问题,这些问题说像这样声明一个函数:
@foo = (bar) ->
放入foo
全局命名空间。但事实并非如此,因为我的函数调用了应用程序的其他地方,尤其是.js.erb
文件中的函数。
以下是有效的方法:
foo = (bar) ->
window.foo = foo
.js.erb
这样,我在文件中的所有调用都可以正常工作。
@foo =
符号不能像我预期的那样工作的原因是什么?这比必须记住添加额外的行以将函数公开给全局命名空间要容易得多。