2017-05-08 28 views
0

我有一个正在被另一个应用程序作为组件库使用的Angular 2应用程序。使用的应用程序正在使用路由,并且它们在指定的模块中配置,并且一切工作正常。如何在应用程序中的多个位置设置路线。可能吗?

问题是,导入此库的使用者应用程序除了在库应用程序中定义的路线之外,还需要更多路线。所以我需要在消费者应用程序中设置这些路线。有没有办法在多个地方定义路线?

回答

1

是路由,你可以在任何模块中设置了路线。我在这里有一个例子:https://github.com/DeborahK/Angular2-GettingStarted在APM-Final-Updated文件夹中

我在app.module.ts和product.module.ts中都有路由。然后我们用进口声明来拉入路线。

imports: [ 
    BrowserModule, 
    HttpModule, 
    RouterModule.forRoot([ 
     { path: 'welcome', component: WelcomeComponent }, 
     { path: '', redirectTo: 'welcome', pathMatch: 'full' }, 
     { path: '**', redirectTo: 'welcome', pathMatch: 'full' } 
    ]), 
    ProductModule 
    ], 
+0

感谢你们提供了一个具体的例子。它看起来像那些路线都使用相同的路由器插座。真的吗? – BBaysinger

+1

这些特定的,但他们不需要。我有一个子路由器插座和辅助(辅助)路由器插座的例子:https://github.com/DeborahK/Angular-Routing – DeborahK

0

检查Router Class,你可以重新对飞

router.resetConfig([ 
    // ... 
]); 
0

是的,我们可以在任何模块中设置路由。这是我们如何在Angular应用程序中设置延迟加载。

我想看看设置路线和懒惰加载,你可以检查我的回购。

https://github.com/rahulrsingh09/footballdetails

的AppModule代码

@NgModule({ 
    bootstrap: [ AppComponent], 
    declarations: [ 
    AppComponent,CompetitionComponent,DropdownDirective 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    RouterModule, 
    routing, 
    //TableModule, Omitted for webpack lazy loading 
    //TeamModule, Omitted for webpack lazy loading 
    MaterialModule.forRoot(), 
    LoadingAnimateModule.forRoot(),// temporary solution to loading 
    ProgressBarModule 
    ], 
    providers:[CompetitionService,LoadingAnimateService ]// temporary solution to loading 
}) 
export class AppModule { 

} 
相关问题