2016-05-30 78 views
0

我有一個帶有打字稿的angular2項目,我正面臨一個我無法理解的奇怪行爲。我有一個包含組件的類文件(稱爲main.ts),所以它在文件的頂部有一些導入,我創建了一個代表項目中其他位置的自定義類型的類(讓我們說型號/ typeFoo.ts)。在typeFoo.ts中有一個簡單的TypeFoo類,沒有導入,不知何故TypeFoo類型可以在main.ts中使用,而不需要在main.ts中導入文件。這很奇怪?然後我在typeFoo.ts中導入另一個文件的輸入,並自動main.ts聲明TypeFoo不再可見。有人能解釋這裏發生了什麼嗎?導入另一個文件後班級可見性發生變化

main.ts 
--models/typeFoo.ts 

class TypeFoo { 
    name:string; 
} 

回答

2

莫名其妙類型TypeFoo可以main.ts,而不需要使用的文件在main.ts.進口這是奇怪

在沒有根級別的importexport該文件是考慮全球文件。添加一個importexport將其轉換成一個模塊(一件好事)。

這是這裏介紹:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

+0

我看過的地方,「文件是一個模塊,一個模塊是一個文件」,這意味着對我來說,創建一個文件,使有自己的「範圍」它不全球可見。但是你說的話是不同的,也是有道理的。我認爲這在打字稿的文件中沒有明確說明。謝謝! – Konst

相關問題