MAT_DIALOG_DATA 注入失败,已导入MatDialogModule,
来源:2-10 对话框的使用

风_863495732
2018-08-29
NullInjectorError: No provider for InjectionToken MatDialogData!
at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:1062)
3回答
-
接灰的电子产品
2018-08-29
在使用了 dialog 的模块中要导入 sharedmodule
00 -
风_863495732
提问者
2018-08-29
我写了一个dialog属性的组件selectComponent,它在shared module的declarations和entryComponents中已注入,从登录页跳转到home 页,(home页中使用了selectComponent)报错;我把“(
private dialogRef: MatDialogRef<SelectComponent>,
@Inject(MAT_DIALOG_DATA) private source
)”这段代码注释掉,重新运行,成功;然后我再把注释去掉,刷新当前路径(/project/home)运行也成功,对话框和home之间页能相互传值了,我再试着从登录页跳转到首页,就报错;您看看有什么解决问题的思路或办法?谢谢!
错误:
ERROR Error: StaticInjectorError(AppModule)[MatDialogClose -> MatDialogRef]:
StaticInjectorError(Platform: core)[MatDialogClose -> MatDialogRef]:
NullInjectorError: No provider for MatDialogRef!
at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:1062)
at resolveToken (core.js:1300)
at tryResolveToken (core.js:1244)
at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1141)
at resolveToken (core.js:1300)
at tryResolveToken (core.js:1244)
at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1141)
at resolveNgModuleDep (core.js:8376)
at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:9064)
at resolveNgModuleDep (core.js:8376)
00 -
接灰的电子产品
2018-08-29
你不会是在 shared module 导入,但在功能模块中没有导入 sharedmodule 吧
00
Angular打造企业级协作平台,让你在Angular领域中出类拔萃
998 学习 · 536 问题
相似问题