Angular13使用MatBottomSheet报NullInjectorError无提供器如何解决?
问题原因
这个报错是因为你没有在AppModule中正确导入MatBottomSheetModule,同时多余配置了不需要的Provider项。
修复步骤
- 在
app.module.ts中添加MatBottomSheetModule的导入
// 新增导入语句 import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
- 将
MatBottomSheetModule添加到@NgModule的imports数组中 - 删除
providers数组中两行手动配置的MatBottomSheetRef和MAT_BOTTOM_SHEET_DATA项,这两个依赖由MatBottomSheetModule内部自动提供,手动配置空对象会覆盖默认实现引发额外问题。
修改后的AppModule核心配置示例
@NgModule({ declarations: [ // 原有组件声明保持不变 ], imports: [ // 原有模块导入保持不变 MatBottomSheetModule // 新增该行即可 ], providers: [], // 移除之前手动添加的两个BottomSheet相关Provider bootstrap: [AppComponent] }) export class AppModule { }
内容的提问来源于stack exchange,提问作者Federico Navarrete
相关产品推荐
相关产品推荐

