我有一个用于 Rails 模型的配套脚本文件,它使用我已经分解成十几个类的层次结构的代码,例如 jQuery/Bootstrap UI 代码、分解不同类型对话框之间的相似性等等。假设我在articles.js.coffee
这里作为“主页脚本”使用。
我可以定义 Coffeescript 类,window.ourproject.OurUIDialog
将它们命名为app/assets/javascripts/OurUIDialog.js.coffee
. 重新启动 Rails 服务器,该类可以是子类,例如window.ourproject.PostInfoDialog extends window.ourproject.OurUIDialog
. 只要PostInfoDialog
是在articles.js.coffee
(在哪里实例化PostInfoDialog
),一切都很好。
但是,如果我将子类 ( PostInfoDialog
) 移出到一个单独的文件中,例如 ,PostInfoDialog.js.coffee
那么尝试在主文章脚本中对其进行任何操作都会产生
Uncaught TypeError: Cannot read property 'prototype' of undefined
再次:
- 这围绕着 Rails 模型的配套脚本文件,这里称为
articles.js.coffee
; window.ourproject.OurUIDialog
无论是在自己的文件中还是在articles.js.coffee
window.ourproject.PostInfoDialog
(extendsOurUIDialog
)只能在它不在单独的文件中时使用,即使查看生成的 HTML 显示PostInfoDialog
包含在所有其他脚本文件中。
我正在努力解决这个问题,但我已经没有多少东西可以开始了。有任何想法吗?