繁体   English   中英

Angular 4 / Ionic 3:共享模块具有循环依赖性

[英]Angular 4 / Ionic 3: Shared module has a circular dependency

我有一个循环依赖性问题,我不知道如何解决。 我有一个名为ItemDetailPageModule的页面模块,它导入了SharedModule如下所示:

@NgModule({
  imports: [
    IonicPageModule.forChild(ItemDetailPageComponent),
    IonicImageViewerModule,
    SharedModule
  ],
  declarations: [
    ItemDetailPageComponent,
  ],
  entryComponents: [
    ItemDetailPageComponent,
  ],
  exports: [
    ItemDetailPageComponent
  ]
})
export class ItemDetailPageModule { }

我还有一个SharedModule ,它导出一个名为ItemCardComponent的组件,该组件依赖于ItemDetailPageModule来将页面组件( ItemDetailPageComponent )推送到导航堆栈:

@NgModule({
  imports: [
    IonicModule,
    AuthenticationModalModule,
    ItemDetailPageModule
  ],
  declarations: [
    ItemCardComponent,
    AddCardFormComponent
  ],
  exports: [
    ItemCardComponent,
    AddCardFormComponent
  ]
})
export class SharedModule { }

显然,这会产生循环依赖性。 我想不出如何构造代码来避免这种情况。 关于如何重组代码以避免循环依赖的任何想法?

您应该使用延迟加载,它不需要您在需要调用的地方声明ItemDetailPageModule。 您只需要像这样导航至它:

this.navCtrl.push("ItemDetailPageModule");

请注意,push方法将模块的名称作为字符串。

这样,您可以使模块彼此分开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM