2017-01-02 100 views
1

我的結構如下:角2全局分量

App 
    *component, module, template* 
    Component 1 
     *component, module, template* 
     Component 11 
      *component, module, template* 
    Global Component 
     *component, temaplte, BUT NO MODULE* 

我的應用模塊包含組分1和組分11個模塊。我在應用程序模塊中聲明瞭全局組件,以便我可以在所有其他組件中使用它。我還將它導出到應用程序模塊中。

但是,當我使用組件11模板中的選擇器時,控制檯說not a known element

我嘗試在我的其他組件中導入它,但它表示它已經導入,並且我應該將它導入到更高的模塊中。

你能告訴我如何聲明一個組件,以便它可以在子模板中使用嗎?

+0

你能發表一些代碼嗎?至少是那些模塊文件.. –

+0

您可以檢查App組件的模塊是否導出Global組件,並且組件的模塊是否導入App組件的模塊? – Davy

+0

對不起@ 5313M,我不能,堆棧說我的代碼有一個縮進問題,即使我顯然沒有(我的代碼是4個空格縮進) – trichetriche

回答

2

我假設「全局組件」在angular 2架構中是未知的。另請參閱此處==>https://angular.io/docs/ts/latest/guide/architecture.html

根據經驗我知道,如果組件(例如管道)在app.module級別導入,則可能會出現問題。例如,當你用管道做這件事時,你會得到一個「找不到管道」的錯誤。也許你遇到了與你的組件類似的問題。

所以我建議讓你的組件成爲模塊的一部分,然後在你的app.module而不是組件中導入你的模塊。

+0

對於濫用詞語感到抱歉,但對我來說這似乎更清楚。關鍵是我希望我的組件在幾個模塊中使用,如果我只將它導入深層模塊而不是根模塊,是否可以實現? – trichetriche

+2

我認爲如果你爲這樣的全局組件引入了一個「SharedModule」(如Karl建議的),我想你會更好一些 – Davy

+1

因爲這個原因,我使用了「toolmodule」 – Karl