我试图在模块中声明一个变量,该变量是在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。
关于如何解决这个问题的任何想法?
感谢。
答案 0 :(得分:3)
'export'和'declare'可以一起使用。
module mymodule {
export declare var myvar: any;
module innermodule {
function dosomething() {
console.log(mymodule.myvar);
}
}
}