【问题标题】:How to access variable from parent module in TypeScript?如何从 TypeScript 中的父模块访问变量?
【发布时间】:2012-10-04 17:06:00
【问题描述】:

如果我有这个 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

【问题讨论】:

  • 它看起来像一个阴影问题。 export var _x = x 工作正常。
  • 是的——在纯 JavaScript 中,var x = x; 不会获取父 x 的值,因为 var 语句的语义。

标签: javascript typescript


【解决方案1】:

如果去掉命名的歧义,肯定是可以的:

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

alert(Foo.Bar.x);

【讨论】:

  • 我希望像 Foo.x 或 parent.x 这样的东西可以在没有导出的情况下工作。我有很多变量需要重命名
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-06
  • 1970-01-01
  • 2015-10-02
  • 2020-12-30
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多