2016-12-15 47 views

回答

1

模塊是一種聲明角度的東西的方法,它定義了這個邏輯塊需要什麼以及它由哪個邏輯塊導出。如果您不在RootModule中導入SharedModule,則此SharedModule中定義的組件/服務/管道/ etc將不可用。例如,如果您希望能夠使用某些內置指令(ngIfngFor等),則需要導入CommonModule(或BrowserModule)。

假設您的SharedModule定義了一個組件:AwesomeComponentawesome作爲選擇器。如果你想在你的RootModule中使用這個組件(你爲什麼不這樣做,那太棒了?),你需要導入聲明它的模塊,否則角會抱怨(或者默默地失敗) t知道這個<awesome>標籤。

聲明多個模塊可以是有用的,如果你想分離的東西,它使您能夠獨立的庫/部分應用程序,您可以重用。如果你製作一個新的應用程序,並意識到你幾周前開發的真棒組件,它將完全適合它,如果它有自己的模塊,你只需要導入它。

它也允許更容易的捆綁。而不是在每個延遲加載的模塊中包含那個SharedModule(延遲加載的路由需要單獨的模塊),您將它捆綁/加載一次。

那麼它會增加代碼複雜度嗎?是的,有點,但它有很多優點。

+0

感謝您的反饋。我很感激 – Albert

0

模塊做沒有相互繼承遺產,所以儘管CharactersModule是要由AppModule(其中進口SharedModule的話)需要進口,CharactersModule無法訪問共享的功能,除非我們導入SharedModule。這裏SharedModule是不同的模塊,CharactersModule是不同的模塊,我們想在AppModule和CharactersModule中使用SharedModule,所以我們需要在兩者中導入SharedModule

+0

謝謝Devansh。 – Albert

+0

非常歡迎和任何其他反饋對我來說。 @Albeart .. – Devansh

相關問題