首页 > 解决方案 > 带有角度材料延迟加载问题的 InjectionToken mat-select-scroll-strategy 错误

问题描述

我的 Angular 9 应用程序中有两个模块,只有一个模块使用 Angular 材料。所以我的 app.module.ts 不加载它,我使用延迟加载但是当我运行应用程序时它显示错误

NullInjectorError:R3InjectorError(t)[InjectionToken mat-select-scroll-strategy -> InjectionToken mat-select-scroll-strategy -> InjectionToken mat-select-scroll-strategy -> InjectionToken mat-select-scroll-strategy]:NullInjectorError:否InjectionToken mat-select-scroll-strategy 的提供者!

请有人帮忙。

标签: angularangular-materiallazy-loading

解决方案


为我消除了错误的原因是包含MatDialogModuleand MatMenuModuleAppModule它不是延迟加载的:

import { MatDialogModule } from '@angular/material/dialog';
import { MatMenuModule } from '@angular/material/menu';

然后终于mat-menu又工作了!

为什么这行得通?

我的猜测是某些@angular/material组件对这两个特定模块有一些隐式依赖。希望他们将来修复它,所以你不需要这个......


推荐阅读