0

看看下面的 TypeScript 代码:

module events {
    export class Event {
    }
}

module display.events {
    export class DisplayEvent extends events.Event {
    }
}

基本上,这个想法是DisplayEventmodule的class 是 module 的 classdisplay.events的后代。然而,模块的命名存在问题,因此编译器搜索的类是模块:EventeventsEventdisplay.events

error TS2094: The property 'Event' does not exist on value of type 'events'.

这里有什么方法可以让编译器(0.9.1.1 版)理解模块的结构吗?

4

2 回答 2

2

目前没有办法在不重组对象名称的情况下做到这一点。这基本上是一个运行时问题——变量是词法范围的,“事件”已被隐藏。

于 2013-10-21T20:46:04.040 回答
1

为什么不将您的代码更改为如下所示(可行)?

module display.events {
    export class Event {
    }
}

module display.events {
    export class DisplayEvent extends events.Event {
    }
}
于 2013-10-21T20:37:34.333 回答