Angular 2 + 延迟加载的模块被导入的模块覆盖

Angular 2 + Lazyloaded Module is being overridden by an imported module

我想知道如何在不优先于父模块的情况下导入模块。我试图理解为什么我导入的模块覆盖了父模块入口组件。我将 QuotesModule 导入到我的 CompaniesModule 中,以便我的 CompaniesModule 可以使用它的组件。如下所示导入 QuotesModule 时:

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 入口组件改为解析。任何见解将不胜感激!

这是我的 QuotesModule 路由和 NgModule:

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

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

})

问题出在路由上。我使用了不同的路径来独立于 CompanyModule 延迟加载我的 QuotesModule,并且在导入时,QuotesModule 的路由匹配,然后覆盖导入模块路由。

然后我会post作为答案(基于以上评论)...

...问题听起来像是您的路由器,而不是延迟加载的模块(取决于这些模块是否确实正确加载)。检查子路由与主路由是否相互覆盖。

很高兴能提供帮助。追踪路由器问题可能很麻烦。