【问题标题】:Angular 6 Lazy Loading throws errorAngular 6延迟加载引发错误
【发布时间】:2018-08-27 17:44:25
【问题描述】:

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

Error In Console

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

【问题讨论】:

  • 已解决:内部模块我使用的Routermodule.forRoot()改为Routermodule.forChild()。工作正常。谢谢

标签: angular


【解决方案1】:

错误说明了一切

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

查看差异here

【讨论】:

  • 完美解决方案,我也这样做了。谢谢
【解决方案2】:

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

Stackblitz Demo

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

【讨论】:

  • 谢谢你的时间
猜你喜欢
  • 2018-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 2019-05-06
  • 2011-05-20
  • 1970-01-01
相关资源
最近更新 更多