1

如果我有这个 TypeScript 代码:

module Foo
{
    var x : string ="value";
    module Bar
    {
        export var x = x;
    }
}

它编译为以下 JavaScript:

var Foo;
(function (Foo) {
    var x = "value";
    var Bar;
    (function (Bar) {
        Bar.x = Bar.x;
    })(Bar || (Bar = {}));

})(Foo || (Foo = {}));

问题是说的那行Bar.x = Bar.x。如何将 Bar.x 设置为 Foo.x?是否需要export Foo.x这样我才能说Bar.x = Foo.x

4

1 回答 1

4

如果您消除命名中的歧义,这绝对是可能的:

module Foo
{
    var a : string = "My Value";
    export module Bar
    {
        export var x = a;
    }
}

alert(Foo.Bar.x);
于 2012-10-14T16:11:29.190 回答