簡體   English   中英

Angular:如何在不同模塊的不同組件之間共享一個組件,反之亦然

[英]Angular: How to share a component between different components in different modules and vice versa

如何在不同模塊中的不同組件之間共享一個組件 將不同模塊中的組件與共享組件共享。

我有四個模塊。 模塊 A 與組件 A、模塊 B 與組件 B、模塊 C 與組件 C 和模塊 D 與組件 D。模塊 B、Z0D61F8370CAD1D412F80B84D143E1257A 和 D 中的每個模塊都有一個問題以訪問模塊 A、組件需要使用它的相應組件。 例如,組件 A 在被組件 B 使用時需要組件 B。

有沒有辦法讓它工作而不使模塊 B、C 和 D 每個都有自己的組件 A 副本?

這是一個共同的要求。 這里讓我稍微解釋一下。

Angular 允許在一個且僅一個模塊中聲明一個組件。 如果另一個模塊需要該組件,則必須將該模塊導入需要該組件的模塊的導入數組中。

現在,如果組件 A在模塊 A 中,組件 B在模塊 B 中並且兩者都需要彼此,並且您在模塊B中導入模塊 A ,在模塊A 中導入模塊 B ,那么您將陷入循環引用陷阱。

要解決這個問題,你必須引入一個新模塊,並在這個新模塊中聲明所有這些組件,並讓這個新模塊導入到需要這些組件的模塊中。

假設我的這個新模塊名稱是LoaderSharedModule ,它看起來像這樣

 @NgModule({ imports: [ ], declarations: [Component1, Component2, Component3], exports: [Component1, Component2, Component3] }) export class LoaderSharedModule { }

模塊將導入此模塊以開始使用 Component1,2,3.. 像這樣

 @NgModule({ imports: [ LoaderSharedModule ], }) export class Module1 { } @NgModule({ imports: [ LoaderSharedModule ], }) export class Module2 { } @NgModule({ imports: [ LoaderSharedModule ], }) export class Module3 { }

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM