Angular 使用已配置路由和未配置路由的模块
我想在两种不同的情况下重用我的模块。一种情况下,我需要指定的路由,而另一种情况下,我不需要路由 我有以下模块Angular 使用已配置路由和未配置路由的模块,angular,Angular,我想在两种不同的情况下重用我的模块。一种情况下,我需要指定的路由,而另一种情况下,我不需要路由 我有以下模块 const ROUTES: Routes = [ { path: '', component: MyComponent } ]; @NgModule({ imports: [CommonModule, RouterModule.forChild(ROUTES), RouterModule ], declarations:
const ROUTES: Routes = [
{ path: '', component: MyComponent }
];
@NgModule({
imports: [CommonModule,
RouterModule.forChild(ROUTES),
RouterModule
],
declarations: [
MyComponent
],
exports: [MyComponent],
providers: []
})
export class MyModule {
}
我尝试用另一个名称创建另一个模块,但没有设置路由,但这并不重要,它只会将其配置为首先加载的模块
是否可以使用配置有路由和不配置路由的同一模块?您需要创建不包含声明和导出可共享组件的路由的SharedModule+创建包含仅导入此SharedModule的路由的WithRoutes模块
@NgModule({
imports: [
RouterModule,
SharedModule
],
declarations: [something]
})
export class WithRoutesModule {
}
@NgModule({
imports: [
somethingd
],
declarations: [
SharedComponent
],
exports: [SharedComponent]
})
export class SharedModule {
}
您需要创建SharedModule而不使用声明和导出可共享组件的路由+创建WithRouteModule而使用仅导入此SharedModule的路由
@NgModule({
imports: [
RouterModule,
SharedModule
],
declarations: [something]
})
export class WithRoutesModule {
}
@NgModule({
imports: [
somethingd
],
declarations: [
SharedComponent
],
exports: [SharedComponent]
})
export class SharedModule {
}