1

arguments一部を coffeescript-classに渡すことは何とか可能iifeですか?

次のような CoffeeScript クラスインスタンス:

class App

通常は次のようになります。

App = (function() {

  function App() {}

  return App;

})();

ただし、次のように、匿名ラッパーにいくつかの引数を設定する方法があるかもしれません。

App = (function($) {

  function App() {}

  return App;

})(jQuery);

現在、各モジュールを余分なラッパーでラップしています。

(($) ->
  class App
)(jQuery)

しかし、これは間違いなく美しくありません (通常の coffescript のように)。

4

2 に答える 2

1

elclans のコメントは、あなたが探している答えだと思います。

coffeescript ではdo ($) ->にコンパイルされ(function($){ … })($)ます。

しかし、do ($ = jQuery) ->にコンパイルされ(function($){ … })(jQuery)ます。

これよりもクリーンな方法はありません。これはファイルの先頭にある 1 行で、何をしているのかが非常に明確になります。

do ($ = jQuery) ->
  class App
于 2013-06-21T17:01:48.833 に答える
0

あなたはこのようなことをすることができます

class A extends GenericClass("some_parameter")

ここで、GenericClass は次のように定義されます

GenericClass = (params) ->
    return { some: objects }

正直なところ、あなたがやろうとしていることは完全に不透明になるので、私はそれをしません。コーヒースクリプトの構文ではなく、機能/ビジネス価値の観点から何をしようとしているのかを説明できるでしょうか?

于 2013-06-15T10:54:43.890 に答える