2017-05-08 58 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 { 

} 
相關問題