Angular 2 + Lazyloaded模块正在被导入的模块覆盖

问题描述:

我想知道如何导入模块,而不优先于父模块。我想了解为什么我导入的模块重写父模块入口组件。我将QuotesModule导入我的CompaniesModule,以便它的组件可用于我的CompaniesModule。当QuotesModule导入如下所示:Angular 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入口部件解决吧。任何有识之士将非常感谢!

这是我QuotesModule路线和NgModule:

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

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

}) 
+0

我可能是错的,但这听起来像一个路由器问题。如果组件被正确导入(懒惰或其他),一切都会好的。 –

+0

你是对的!我注意到导入模块共享相同的路由器路径。改变它们可以解决问题。我将编辑该问题放入其他模块和路由。 – Rex

+0

,谢谢:) – Rex

,我将发布作为回答,然后(基于上述评论)...

...问题听起来像您的路由器,而不是懒加载的模块(取决于如果这些模块实际上是正确加载) 。检查儿童路线与主要路线不会相互覆盖。

很高兴有帮助。追踪路由器问题可能是一个熊。

的问题是路由。我使用了不同的路径来延迟加载我的QuotesModule而不依赖于CompanyModule,并且当导入时,QuotesModule的路由匹配,然后覆盖导入模块的路由。