2016-06-30 57 views
1

我有一個JavaScript文件,包含在我的Angular 2應用程序的<head></head>標籤中。我想從我的打字稿文件中訪問該JavaScript文件中的函數,我應該怎麼做?當我運行該應用程序時,我可以在瀏覽器控制檯中輸入var simplemde = new SimpleMDE()以使我的降價編輯器正常工作,但我如何在構建器中在我的打字稿文件中執行此操作?訪問JavaScript變量包含在打字稿的HTML標頭中

+0

從一些代碼開始。顯示你的文件(或其中的一部分)。所以人們可以看一個具體的例子,而不是回答抽象的東西。 – sphinks

回答

3

就宣佈它在你的組件的頂部或任何你需要它,像這樣:

declare var SimpleMDE: any; 

然後,你可以把它在你的構造像你想要的!

+0

我試過這個,但是我收到錯誤:'TypeError:無法讀取未定義的屬性'getAttribute'。我在我的組件上面聲明瞭變量,而在我的構造函數中,我有'let simplemde = new SimpleMDE();' –

+0

在構造函數中執行'var simplemde = new SimpleMDE();'時? – rinukkusu

+0

是的,我把它放在我的構造函數的第一行。 –

0

您可以使用namespacing,這基本上是一個對象,它封裝了所有其他變量&功能

喜歡這個

var SomeObject={} 
SomeObject.abc = "Some Value"; 
SOmeObject.myFunction = function(){ 
    // function body 
} 

在其他文件中,你可以簡單地調用SomeObject.abc &它將返回字符串Some Value

您應該使用命名空間來避免全局窗口的衝突