2017-12-19 16 views
1

순환 의존성 문제가 있습니다. 해결 방법이 없습니다.각도 4/이온 3 : 공유 모듈의 순환 종속성이 있습니다.

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

나는 또한 탐색 스택에 페이지 구성 요소 (ItemDetailPageComponent)를 밀어 ItemDetailPageModule에 따라 ItemCardComponent라는 구성 요소를 내보내는 SharedModule이 : 나는 SharedModule과 같이 가져 ItemDetailPageModule라는 페이지 모듈이

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

분명히 순환 의존성을 생성합니다. 이 문제를 피하기 위해 코드를 구조화하는 방법을 알 수는 없습니다. 순환 종속성을 피하기 위해 코드를 재구성하는 방법에 대한 아이디어가 있습니까?

답변

0

호출해야하는 곳에서 ItemDetailPageModule을 선언 할 필요가없는 지연로드를 사용해야합니다. 당신은 너무 것처럼로 이동해야합니다 푸시 방법은 문자열로 모듈의 이름을하고 있음을

this.navCtrl.push("ItemDetailPageModule"); 

공지 사항.

이렇게하면 모듈을 서로 분리 할 수 ​​있습니다.