2017-04-26 6 views
1

親モジュールよりも優先されることなくモジュールをインポートする方法を知りたいと思います。インポートされたモジュールが親モジュールのエントリコンポーネントをオーバーライドする理由を理解しようとしています。私はQuotesModuleを私のCompaniesModuleにインポートするので、そのコンポーネントは私のCompaniesModuleに利用できます。 QuotesModuleがここに示されているようにインポートされている場合:角2 + Lazyloadedモジュールがインポートされたモジュールによってオーバーライドされています

CompaniesModule (lazyloaded)

const ROUTES: Routes = [ 
    {path: '', component: CompaniesComponent} 
]; 

@NgModule({ 
    declarations: [ 
     CreateCompanyComponent, 
     CompaniesComponent 
    ], 
    providers: [ 
    ], 
    imports: [ 
     QuotesModule, 
     FormsModule, 
     ReactiveFormsModule, 
     GlobalModule, 
     CommonModule, 
     RouterModule.forChild(ROUTES) 
    ], 
    exports: [ 
    ], 
    schemas: [ 
     CUSTOM_ELEMENTS_SCHEMA 
    ], 
    entryComponents: [ 
     CompaniesComponent 
    ] 

}) 

...と私はCompaniesComponentルートに移動しようとすると、QuotesModuleエントリコンポーネントが代わりに解決します。どんな洞察も大いに評価されるだろう!問題は、ルーティングた

const ROUTES: Routes = [ 
    {path: '', component: QuotesComponent} 
]; 

@NgModule({ 
    declarations: [ 
     QuotesComponent 
    ], 
    providers: [ 
    ], 
    imports: [ 
     CommonModule, 
     GlobalModule, 
     RouterModule.forChild(ROUTES) 
    ], 
    exports: [ 
    ] 

}) 
+0

私は間違っている可能性がありますが、それはルータの問題のように思えます。コンポーネントが適切にインポートされている(遅延しているかどうかなど)場合は、すべて正常である必要があります。 –

+0

あなたは正しいです!私は、インポートモジュールが同じルータパスを共有していることに気付きました。そしてそれらを変更することで問題が解決されます。質問を編集して、他のモジュールとルートを配置します。 – Rex

+0

とありがとう:) – Rex

答えて

1

私は...(上記のコメントに基づいて)、その後答えとして

を掲載します...問題はルーター、ありません(これらのモジュールが正しく読み込ま実際にある場合に応じて)遅延ロードされたモジュールのように聞こえます。子ルートとメインルートが互いに上書きされていないか確認してください。

喜んで助けてくれました。ルータの問題を追跡することは苦労することがあります。

0

:ここ

は私QuotesModuleルートおよびNgModuleです。私はQuotesModuleとは別に遅延ロードに異なるパスを使用していましたが、CompanyModuleとは別に、QuotesModuleのルートが一致してインポートされたモジュールルートを上書きしました。

関連する問題