[英]In Angular 2, what is the use of private components (components not exported)
我知道通過導出組件,模塊可以使它們可用於導入該組件的任何模塊。 但是我只是想知道什么是“有用的”場景,其中這些組件不導出(或保存為私有/本地),而是在其父模塊中聲明。
在Angular(以及其他形式的)開發中,有一種稱為延遲加載的方法。 這樣的想法是,每條路線或路線系列將是它們自己的模塊,並且所有組件都在模塊中聲明。 您不會導出組件。
而是在哪里配置應用程序路由,而不是為路由傳遞組件,而是導入為該路由創建的模塊的子級。
但是,可能需要在不同的路線之間共享某些資產。 也許那將是某種模式,或者是導航欄。 這些組件將包含在通常稱為SharedModule
的模塊中,並且將從該模塊中導出。 然后將SharedModule
作為導入添加,然后為路由創建的隔離模塊將可以訪問那些共享組件(以及可能的管道)。
我希望能對如何/為什么使用模塊,導入模塊,導出組件以及不使用的原因有一個不錯的了解。 如果您有興趣了解我的意思,可以深入了解此代碼庫 ,尤其是查看用於路由到模塊src/app/shared/shared.module.ts
的文件src/app/app-routing.module.ts
src/app/shared/shared.module.ts
用於導出組件的src/app/shared/shared.module.ts
以及不用於導出組件的src/app/home/home.module.ts
,它將向您展示如何引入SharedModule
但不從該模塊導出任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.