在模块内声明变量

时间:2014-12-04 11:33:18

标签: typescript

我试图在模块中声明一个变量,该变量是在typescript范围之外定义的(它是在html中完成的),但是编译器并不喜欢它。 / p>

module mymodule {
    declare var myvar: any;

    module innermodule {
        function dosomething() {
            console.log(mymodule.myvar);
        }
    }
}

编译器说"属性' myvar' mymodule'"""。

类型不存在

如果我将其从declare更改为export,那么它可以正常工作,但我更愿意避免这样做,因为它不相同并且可能导致脚本覆盖在html中注入的值。

我创建了Playground code which demonstrate the problem

关于如何解决这个问题的任何想法?
感谢。

1 个答案:

答案 0 :(得分:3)

'export'和'declare'可以一起使用。

module mymodule {
    export declare var myvar: any;

    module innermodule {
        function dosomething() {
            console.log(mymodule.myvar);
        }
    }
}