无法使用角度6延迟加载子组件

时间:2018-12-26 09:24:52

标签: angular lazy-loading

我正在尝试在角度6中进行延迟加载,尽管我的系统中已安装了角度7,但目前尚无法正常工作,并且无法找到答案,因此需要一些指导

我有一个名为manager的模块,它将用户重定向到管理器模块。我想确保它被延迟加载,并且使用下面的代码我无法使其工作。我是新来的有角的,任何帮助都会有用的。好看

应用程序路由模块

    const routes: Routes = [
      { path: "", redirectTo: "/home", pathMatch: "full" },
      { path: "home", component: HomeComponent },
      { path: 'manager', loadChildren: "./manager/manager.module#ManagerModule" },
      { path: "**", component: PageNotFoundComponent }
    ];

**manager-routing.module**

const routes: Routes = [
  {
    path: "",
    component: ManagerComponent,
    children: [
      { path: "", redirectTo: "/manager/home", pathMatch: "full" },
      { path: "home", component: ManagerHomeComponent }
    ]
  }
]

管理器模块

@NgModule({
  declarations: [ManagerComponent],
  imports: [
    CommonModule,
    ManagerRoutingModule,
    MaterialModule
  ]
})

我尚未将 ManagerComponent ManagerHomeComponent 添加到 app.module

请检查一下,然后向我指出可以解决此问题的方向。

注意:要检查延迟加载,我正在使用名为 augury

的chrome工具

更新: app.module.ts

@NgModule({
  declarations: [
    AppComponent,
    HomeComponent,
    PageNotFoundComponent
  ],
  imports: [
    HttpClientModule,
    BrowserModule,
    BrowserAnimationsModule,
    MaterialModule,
    AppRoutingModule,
    InventoryModule,
    PosModule,
    UserModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

1 个答案:

答案 0 :(得分:3)

可能是以下一项或两项:

  1. 您忘记在<router-outlet></router-outlet>

  2. 中添加manager.component.html
  3. 您忘记了调用AppRoutingModule中的RouterModule.forRoot或ManagerRoutingModule中的RouterModule.forChild。

  

这是您推荐的Working Sample StackBlitz