レール 3.2.8。私の JS 関数のいくつかを CoffeeScript に変換する際に、関数を次のように宣言するといういくつかの質問に遭遇しました。
@foo = (bar) ->
foo
グローバル名前空間に入れます。.js.erb
しかし、私の関数はアプリケーションの他の場所、特にファイルにあるものを呼び出すため、そうではありません。
機能するものは次のとおりです。
foo = (bar) ->
window.foo = foo
これで、ファイル内のすべての呼び出しが正常に機能し.js.erb
ます。
@foo =
表記が期待どおりに機能しない理由は何ですか? これは、関数をグローバル名前空間に公開するために余分な行を追加することを覚えておく必要があるよりもはるかに簡単です。