0

PageModule在它的路由中有一个 which 引用本身。如果我删除循环依赖项,启动应用程序然后再次添加它,它会起作用。但如果我停止服务器并使用已经存在的循环依赖项再次启动它,则不会。我该如何解决这个问题?

我有这个路由器模块:

const routes: Routes = [
  {
    path: '',
    component: PageComponent,
    children: [
      {
        path: ':pageId',
        loadChildren: 'app/routes/+dashboard/routes/+pages/routes/+page/page.module#PageModule'
      }
    ]
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)]
})

export class PageRouterModule {}

然后将其导入 PageModule:

@NgModule({
  imports: [
    PageRouterModule
  ],
  exports: [PageRouterModule],
  declarations: [PageComponent]
})

export class PageModule {}

显然,这应该是固定的,如此处所示但我已经升级到最新的 cli 版本,1.5.0但问题仍然存在。

4

1 回答 1

0

我发现改变这一行:

loadChildren: 'app/routes/+dashboard/routes/+pages/routes/+page/page.module#PageModule'

到:

loadChildren: loadModule

loadModule出口在哪里function

export function loadModule() {
  return PageModule;
}

理论上您也可以这样做() => PageModule,但这会导致 lambda 错误,因此您必须使用如上所示的导出函数。

我希望这对其他人有帮助。

于 2017-12-12T08:34:57.010 回答