Angular 6延迟加载引发错误

时间:2018-08-27 17:44:25

标签: angular

我已经在app.routes.ts文件中创建了路由,并在app.module.ts文件中导入了路由。奇怪的是,我收到一个错误消息,说RouterModule.forRoot()被叫过两次

Error In Console

export const routing: ModuleWithProviders = RouterModule.forRoot(routes);

2 个答案:

答案 0 :(得分:0)

使用forChild进行惰性模块路由并导出RouterModule

Stackblitz Demo

imports:[
    RouterModule.forChild(routes)
],
exports:[
    RouterModule
]

答案 1 :(得分:0)

错误说明了一切

应用程序中应该只有一个RouterModule.forRoot(routes),它应该位于应用程序的根module(通常为AppModule)上。所有其他子模块(尤其是延迟加载模块)都应导入RouterModule.forChild(routes)

请参阅差异here