我正在使用角4.0.2。我想为我的应用程序创建一个可重复使用的布局模块,其中包含一些带有导航栏,侧边栏等的html布局。模板包含路由器插座,但我不知道如何从外部注入路由。
以下是我的尝试:
GradientBoostingRegressor
然后在application.module中我将导入模块提供(特定于应用程序的)路由:
@NgModule({
imports: [
CommonModule,
FormsModule,
RouterModule
],
declarations: [Layout, Sidebar, Navbar]
})
export class LayoutModule {
static forRoot(routes): ModuleWithProviders {
return {
ngModule: LayoutModule,
providers: [provideRoutes(routes)]
}
}
}
不幸的是它不起作用。我的路线没有注册,我得到了404。
但是,当我将其更改为:
LayoutModule.forRoot(PagesRoutes)
然后路由工作正常,除非它们不作为依赖项注入。
任何想法如何做到这一点?
答案 0 :(得分:0)
我能够找到解决问题的解决方法。
在我的客户端应用程序上,我有一个围绕外部LayoutModule的薄包装
@NgModule({
imports: [
RouterModule,
LayoutModule
],
providers: [provideRoutes(PagesRoutes)]
})
export class LayoutWrapperModule {
}
以这种方式注射路线。