Angular 8-模块的延迟加载不起作用

时间:2020-02-14 15:42:21

标签: angular routes load lazy-evaluation

https://stackblitz.com/edit/angular-qbbhgp所示,我正在尝试实现一个非常简单的路由,其中​​涉及模块的延迟加载。当我单击“链接”时,它似乎无法正常工作。我希望看到“学生页面”一词出现,但是没有发生。

请注意,我希望解决方案包括使用import api(惰性加载模块的较新语法)

3 个答案:

答案 0 :(得分:2)

这是因为您尚未将路由添加到学生模块中。

你的闪电战叉:https://stackblitz.com/edit/angular-zrnrxj

由于学生模块是子模块,因此在声明路由时,学生模块需要使用.forChild()

const routes:Routes = [
  { path: '', component: StudentComponent } 
]

@NgModule({
  imports: [
    CommonModule,
    RouterModule.forChild(routes)
  ],
  declarations: [StudentComponent]
})
export class StudentModule { }

答案 1 :(得分:1)

您没有为Routes提供Student.routing.module吗?

由于您已指导student.module,但可能没有从那里提供所显示的组件。

如果尚未创建到Student.routing.module,请在同一模块中创建一个并提供默认路由。

const routes: Routes = [

  {path: '', component:StudentComponent } ];

答案 2 :(得分:1)

您必须定义延迟加载模块的路由并指定延迟加载模块的根组件。