Angular 2材质MdSnackBar没有提供程序

Flo*_*ian 5 material-design snackbar angular-material2 angular

我希望在单击按钮时弹出一个简单的Snackbar。但是我总是得到错误:

错误错误:没有MdSnackBar提供程序!发生于injectErrorError(core.es5.js:1169)处,发生于noProviderError(core.es5.js:1207)

import {MdSnackBar} from '@angular/material';
constructor(public snackBar: MdSnackBar){
        this.snackBar.open('hello')
    }
Run Code Online (Sandbox Code Playgroud)

Mee*_*ave 7

Import MdSnackBarModule然后MdSnackBarModuleapp.module.ts文件中添加导入内容

  • 请注意,如果您的版本高于“ @ angular / material”:“ 2.0.0-beta.11”,则不再支持此答案, (4认同)

小智 6

如果您使用的版本为“ @ angular / material”:“ 2.0.0-beta.12”或更高版本,则应导入 MatSnackBarModule

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

// Use a more specific import if you're using "@angular/material": "8.0.0" and higher
// import {MatSnackBarModule} from '@angular/material/snack-bar';

...

@NgModule({
      imports: [
            ...
            MatSnackBarModule
          ],
    ...
Run Code Online (Sandbox Code Playgroud)