2013-10-21 484 views
0

看一看下面的打字稿代碼:打字稿模塊引用

module events { 
    export class Event { 
    } 
} 

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

基本上,這個想法是,從模塊display.eventsDisplayEvent類是Event類的從模塊events後裔。然而有與模塊從而爲Event類編譯器搜索的命名問題是display.events模塊:

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

在這裏沒有辦法讓編譯器(版本0.9.1.1)瞭解模塊的結構?

回答

2

目前沒有一種方法可以在不重構對象名稱的情況下做到這一點。這基本上是一個運行時問題 - 變量在詞彙範圍內,'事件'已被遮蔽。

1

爲什麼不改變你的代碼看起來像這樣(工作)?

module display.events { 
    export class Event { 
    } 
} 

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

因爲我一般的'Event'類不屬於'display'模塊。它屬於'events'模塊。正如Ryan所說,這是一個運行時問題,正如我在結果javascript代碼中看到的,'events'這個名字已經隱藏在display模塊中。 – MalcomCZ