2017-12-19 20 views
1

私は循環依存性の問題があります。解決方法はわかりません。私はそうのようなSharedModuleをインポートItemDetailPageModuleというページモジュールがあります。角4 /イオン3:共有モジュールは循環依存性を持っています

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

私もNAVスタックにページコンポーネント(ItemDetailPageComponent)をプッシュするItemDetailPageModuleに依存ItemCardComponentと呼ばれるコンポーネントをエクスポートSharedModuleがあります

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

明らかに、これは循環依存関係を作成します。私はこれを避けるためにコードをどのように構造化するかを理解できません。循環依存を避けるためにコードを再構成する方法に関するアイデアはありますか?

答えて

0

あなたが呼び出す必要があるところでItemDetailPageModuleを宣言する必要がない遅延読み込みを使用する必要があります。 pushメソッドは文字列としてモジュールの名前を取っていることを

this.navCtrl.push("ItemDetailPageModule"); 

お知らせ: あなたはそうのようにそれにナビゲートする必要があります。

このようにして、モジュールを互いに分離した状態に保ちます。