【发布时间】:2019-11-03 08:49:29
【问题描述】:
我在 Angular 8 中使用 LazyLoading 进行路由时遇到问题。我在我的组件中使用 SCAM 架构 (https://medium.com/wishtack/your-angular-module-is-a-scam-b4136ca3917b),这意味着我没有 module.ts,但我的模块直接插入到我的组件中。例如:
header.component.ts
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit {
ngOnInit() {
}
}
@NgModule({
imports: [CommonModule],
declarations: [HeaderComponent],
exports: [HeaderComponent],
})
export class HeaderModule {}
但是,当我像这样在路由模块中加载组件时:
feature-routing.module.ts
{
path: FeaturesRoutingEnum.Recruiters,
loadChildren: () => import('@features/recruiters/recruiters/recruiters.component').then(m => m.RecruitersModule),
},
我绝对没有错误,从纱线,从控制台,当我走在路上时,除了空白页之外什么都没有。显然没有加载,不知道为什么,好像 loadChildren 无法加载我的模块。
编辑:另外,路径很好,当它不是我直接有一个错误;)。
EDIT2:这是我的招聘模块:
import { DragDropModule} from '@angular/cdk/drag-drop';
import {CommonModule} from "@angular/common";
import {ChangeDetectionStrategy, Component, NgModule, OnInit} from '@angular/core';
import {ColumnModule} from "@commons/column/column.component";
import {HeaderModule} from "@commons/header/header.component";
import {SvgIconModule} from "@commons/svg-icon/svg-icon.component";
@Component({
selector: 'app-recruiters',
templateUrl: './recruiters.component.html',
styleUrls: ['./recruiters.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class RecruitersComponent implements OnInit {
status!: string[];
ngOnInit() {
this.status = ['Certifié', 'En attente', 'Nécessite modification(s)', 'Refusé'];
}
trackByString(_: string, value: string): string {
return value;
}
}
@NgModule({
imports: [CommonModule, SvgIconModule, DragDropModule, ColumnModule, HeaderModule],
declarations: [RecruitersComponent],
exports: [RecruitersComponent],
})
export class RecruitersModule {}
【问题讨论】:
标签: angular module routing lazy-loading