跨文件跨越一个Typescript模块会产生0x800a01bd - JavaScript运行时错误:对象不支持此操作

时间:2013-12-17 17:56:01

标签: typescript

跨多个文件跨越模块时遇到问题。我知道stackoverflow上有很多问题,但它们还不足以解决这个问题。

两个文件的两个相关部分:

file _ProjectInfo.ts:

/// <reference path="_ProjectInfo2.ts" />

module Areas.ProjectArea._ProjectInfo
{
    window.onload = ()=> {
        var EventHandlers: ButtonEventHandlers = new ButtonEventHandlers();
        ....
    };
}

_ProjectInfo2.ts文件:

module Areas.ProjectArea._ProjectInfo
{
    export class ButtonEventHandlers
    {       
        public EditProjectButtonClickEventHandler(): void {
        ....
        }
    }
}

当这些模块在separte文件中时,我收到错误:

0x800a01bd - JavaScript运行时错误:对象不支持此操作

它打破了:

var EventHandlers: ButtonEventHandlers = new ButtonEventHandlers();

当我将代码放在一个文件中时,一切都按预期正常工作。我想我的文件中有正确的引用,但我无法在单独的文件中使用它。

1 个答案:

答案 0 :(得分:3)

在您的情况下,您需要确保在_ProjectInfo2.ts之前加载_ProjectInfo.ts,因为您需要在使用之前定义类