角度7:NullInjectorError:MatSnackBarConfig没有提供程序

时间:2019-06-21 14:45:26

标签: angular angular-material

在我们的项目中,我们使用Angular 7Angular Material。在Google Chrome下一切正常,但在Internet Explorer 11下,当使用--aot标志运行应用程序时,我们收到以下错误:

ERROR Error: StaticInjectorError(AppModule)[MatSnackBarContainer -> MatSnackBarConfig]:
StaticInjectorError(Platform: core)[MatSnackBarContainer -> MatSnackBarConfig]:
NullInjectorError: No provider for MatSnackBarConfig!

Material模块作为一个单独的文件导入为:

import { NgModule } from '@angular/core';
import {
  ...
  MatSnackBarModule,
  ...
} from '@angular/material';

@NgModule({
  exports: [
    ...
    MatSnackBarModule,
    ...
  ],
})
export class MyMaterialModule { }

请注意:该应用在Google Chrome下正常运行! 有任何想法吗?感谢您对此进行调查!

2 个答案:

答案 0 :(得分:0)

@NgModule中未提供您要使用的服务时,通常会发生此错误。

要使用MatDialog服务,您需要转到模块文件并将MatSnackBarModule添加到导入数组:

import {MatSnackBarModule} from '@angular/material';

@NgModule({
  imports: [MatSnackBarModule]
})
export class MyMaterialModule {}

答案 1 :(得分:0)

您的代码应该是这样

import {MatSnackBarModule} from '@angular/material';

@NgModule({
  imports: [MatSnackBarModule],
  exports: [
    ...
    MatSnackBarModule,
    ...
  ],
})