TypeScript使用相同类型的命名空间内的全局类型

时间:2017-10-04 07:12:13

标签: typescript typescript2.0

我有一个与全局类型相同的类型。特别是,一个事件。

我将我的事件放在命名空间中,这使得在命名空间之外引用它很容易,但在命名空间内我不能引用全局(或标准)。

<?php echo do_shortcode('[test]'); ?>

我怀疑这根本不可能,但这可以证实吗?除了重命名Dot.Event类型之外的任何变通方法吗?

干杯

1 个答案:

答案 0 :(得分:3)

可以创建一个表示全局Event类型的类型,并在命名空间中使用它:

type GlobalEvent = Event;

namespace Dot {
    export class Event {
        // a thing happens between two parties; nothing to do with JS Event
    }
    function doStuff(e : GlobalEvent) {
       // Event is presumed to be a Dot.Event instead of usual JS event
       // Unable to refer to global type?
    }
}
function doStuff2(e : Event) {
    // Use of regular Event type, cool
}
function doStuff3(e : Dot.Event) {
    // Use of Dot event type, cool
}

但我的建议是将您的专业化称为其他内容,例如DotEvent