是否有可能将某些arguments
传递给coffeescript-class iife
?
像这样的CoffeeScript类实例:
class App
结果通常在此:
App = (function() {
function App() {}
return App;
})();
但是,也许有一种方法可以使用一些参数填充匿名包装器,如下所示:
App = (function($) {
function App() {}
return App;
})(jQuery);
目前,我将每个模块包装在一个多余的额外包装器中:
(($) ->
class App
)(jQuery)
但我发现这绝对不是很美(通常是coffescript)。
答案 0 :(得分:1)
我认为elclanrs的评论是您正在寻找的答案。
在coffeescript中do ($) ->
将编译为(function($){ … })($)
。
但do ($ = jQuery) ->
将汇编为(function($){ … })(jQuery)
。
实际上没有比这更清洁的方法了。它位于文件顶部的一行,非常清楚您正在做什么。
do ($ = jQuery) ->
class App
答案 1 :(得分:0)
你可以做这样的事情
class A extends GenericClass("some_parameter")
其中GenericClass定义为
GenericClass = (params) ->
return { some: objects }
老实说,我不会这样做,因为它完全使你不知所措。 也许您可以解释一下您在功能/业务价值方面的尝试,而不是CoffeeScript语法方面的内容?