Angular 如何在应用程序中的多个位置设置路由。可能吗?
我有一个Angular 2应用程序,它被另一个应用程序作为组件库使用。被消费的应用程序正在使用路由,它们在指定的模块中进行配置,一切正常 问题是,导入此库的消费者应用程序除了库应用程序中定义的路由之外,还需要更多路由。因此,我需要在消费者应用程序中设置这些路由。有办法在多个位置定义路由吗?选中,您可以动态重新定义路由Angular 如何在应用程序中的多个位置设置路由。可能吗?,angular,angular2-routing,Angular,Angular2 Routing,我有一个Angular 2应用程序,它被另一个应用程序作为组件库使用。被消费的应用程序正在使用路由,它们在指定的模块中进行配置,一切正常 问题是,导入此库的消费者应用程序除了库应用程序中定义的路由之外,还需要更多路由。因此,我需要在消费者应用程序中设置这些路由。有办法在多个位置定义路由吗?选中,您可以动态重新定义路由 router.resetConfig([ // ... ]); 是的,您可以在任何模块中设置路线。我这里有一个例子:在APM最终更新文件夹中 我在app.module.ts和
router.resetConfig([
// ...
]);
是的,您可以在任何模块中设置路线。我这里有一个例子:在APM最终更新文件夹中 我在app.module.ts和product.module.ts中都有路由。然后,我们使用imports语句拉入路由
imports: [
BrowserModule,
HttpModule,
RouterModule.forRoot([
{ path: 'welcome', component: WelcomeComponent },
{ path: '', redirectTo: 'welcome', pathMatch: 'full' },
{ path: '**', redirectTo: 'welcome', pathMatch: 'full' }
]),
ProductModule
],
是的,我们可以在任何模块中设置路线。这就是我们在Angular应用程序中设置延迟加载的方式 我命令查看路由设置和延迟加载,您可以检查我的回购 应用模块代码
@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 {
}
谢谢你提供了一个具体的例子。看起来这些路由都使用相同的路由器出口。这是真的吗?这些特定的是,但他们不必这样做。我这里有一个子路由器出口和辅助路由器出口的示例: