我有两个类 StepsForm 和 BiblioForm 我希望步骤表单能够扩展 BiblioForm,但是当我尝试使用下面的代码时控制台说
未捕获的ReferenceError:BiblioForm
StepsForm类
(($) ->
class StepsForm extends BiblioForm
...
form = new StepsForm;
) jQuery
BiblioForm类
(($) ->
class BiblioForm
....
basicBiblioForm = new BiblioForm
) jQuery
我使用grunt编译并将这些类放在一起,就像这样
coffee: {
compile: {
files: {
'lib/js/tome-references.js' : [
'lib/coffee/biblio-form.coffee',
'lib/coffee/steps-form.coffee',
]
}
}
},
我只想注意,我需要在两个类中使用jQuery。
当我删除每个类中的第一行和最后一行时,扩展功能可以工作,但是我无法访问jQuery。
感谢您的时间。
答案 0 :(得分:0)
如果jQuery是一个依赖项,请在类中明确它。
class BiblioForm
constructor: (@$) ->
doSomething: =>
@$("#foo").bar()
class StepsForm extends BiblioForm
constructor: ($) ->
super($)
doAnything: =>
@$("#baz").hide()
并将其实例化为
biblioForm = new BiblioForm(jQuery)
stepsForm = new StepsForm(jQuery)
concatenate coffee files before compiling them最好避免其他可见性问题。