我正在使用Angular Materials进行Angular项目。使用Angular Materials正确设置了项目,并且可以毫无问题地进行编译,并且我能够使用多个Angular Materials组件。
但是当我尝试在AppModule
中进行以下注入时,会出错。
@Inject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS) private options: any
错误消息:
StaticInjectorError(Platform: core)[AppComponent -> InjectionToken MAT_EXPANSION_PANEL_DEFAULT_OPTIONS]:
NullInjectorError: No provider for InjectionToken
即使在MatExpansionModule
导入数组中包含了AppModule
,我仍然遇到此错误。
答案 0 :(得分:2)
默认情况下MAT_EXPANSION_PANEL_DEFAULT_OPTIONS令牌不存在,您必须提供它。因此,如果要为扩展面板设置默认选项,则可以将其添加到模块中的提供程序列表中:
providers: [{
provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,
useValue: {
collapsedHeight: '100px',
expandedHeight: '100px',
hideToggle: true
}
}]
https://stackblitz.com/edit/angular-material-inject?embed=1&file=main.ts