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