2014-12-04 74 views
1

我試圖在模塊內部聲明一個變量,該變量是在typescript範圍之外定義的(它在html中完成),但編譯器不喜歡它。聲明模塊內的變量

module mymodule { 
    declare var myvar: any; 

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

編譯器說「屬性'myvar'不存在於'typeof mymodule'類型'」上。

如果我將其從declare更改爲export然後它工作,但我寧願避免這樣做,因爲它不相同,可能會導致腳本覆蓋在html中注入的值。我建立了一個Playground code which demonstrate the problem

有關如何解決此問題的任何想法?
謝謝。

回答

3

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

module mymodule { 
    export declare var myvar: any; 

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

哦,沒有意識到這一點。謝謝! – 2014-12-04 13:01:00