Angular 2 Material MdSnackBar 没有提供者
Posted
技术标签:
【中文标题】Angular 2 Material MdSnackBar 没有提供者【英文标题】:Angular 2 Material MdSnackBar no Provider 【发布时间】:2018-01-09 06:07:13 【问题描述】:我想要一个简单的 Snackbar 在单击按钮时弹出。但我总是得到错误:
错误错误:没有 MdSnackBar 的提供程序! 在 injectionError (core.es5.js:1169) 在 noProviderError (core.es5.js:1207
import MdSnackBar from '@angular/material';
constructor(public snackBar: MdSnackBar)
this.snackBar.open('hello')
【问题讨论】:
您是否将MaterialModule
添加到您的import array
中?
你导入MdSnackBarModule
了吗?
德国的清晨......谢谢大家
@Pengyy 请注意,从beta.3
开始,MaterialModule
已被弃用,强烈建议您创建自己的材质模块,如here 和here 所述。
@Edric 感谢您指出这一点,兄弟。 :-)
【参考方案1】:
Import MdSnackBarModule
然后在 app.module.ts 文件中的导入中添加 MdSnackBarModule
【讨论】:
请注意,如果您的版本高于“@angular/material”:“2.0.0-beta.11”,则不再支持此答案,【参考方案2】:如果你有版本 "@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
],
...
【讨论】:
以上是关于Angular 2 Material MdSnackBar 没有提供者的主要内容,如果未能解决你的问题,请参考以下文章
使用 Angular-cli 在 Angular 2 应用程序中安装 bootstrap-material-design
Angular 2.0 Material MdDialog 与 Angular 2.0 的工作示例
Angular 5 Angular Material 2 - 使用 minLength 自动完成
Angular Material 2 Textarea Autosize 属性 (mdTextareaAutosize)