MultipleYesNoChooserPage

MultipleYesNoChooserPage

我在CoffeeScript中有几个类,它们是从另一个类继承的。链看起来像这样:


Page


ChooserPage


YesNoChooserPage

CommentPage
SimplePage



这可以很好地工作,但是当我尝试向ChooserPage链,特别是MultipleYesNoChooserPage extends YesNoChooserPage引入另一个级别时,突然出现错误:

Uncaught TypeError: Cannot read property 'prototype' of undefined


我检查了类的存在,并得到以下结果:


Page存在
ChooserPage存在
YesNoChooserPage不存在(未定义)
MultipleYesNoChooserPage不存在(显然是未定义的)


比较:
没有定义MultipleYesNoChooserPage:
javascript - 第三级继承无效-LMLPHP

定义了MultipleYesNoChooserPage:
javascript - 第三级继承无效-LMLPHP

CoffeeScript是否有一些我不知道(也找不到任何东西)的最大限制,或者有其他原因吗?

类以正确的顺序加载。

最佳答案

好的,我得到了解决方案,这是偶然发生的。

在尝试重现此内容时,我注意到它不在项目外部发生。因为它使我更加困惑(我的意思是,一个类的简单存在如何使另一个消失),我完全删除了文件并重新创建了它。它奏效了,这使我的困惑上升到了一个难以理解的程度。然后它打动了我:

为了强制加载文件的顺序,它们被命名为奇数。在这种情况下,YesNoChooserPage和MultipleYesNoChooserPage的命名如下:


是的否ChooserPage.coffee
YZMultipleYesNoChooserPage.coffee


我的编辑器(Sublime Text)按预期顺序列出了它们,但是我注意到,终端没有。重新创建文件时,我不小心将其命名为“ YzMultipleYesNoChooserPage”,从而导致顺序不同。然后工作了。

学会了另一件事。

关于javascript - 第三级继承无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37006316/

10-11 05:07