多项目依赖注入

来源:4-1 依赖性注入

starkShang

2019-01-19

我有一个angular library项目,包含

  • ModuleA
    • imports: [ MatDialogModule ], 导入了Angular Material的MatDialogModule模块;
    • exports: [ ComponentA ]
  • ComponentA: 依赖于Angular Material的MatDialogModule模块;
  • ServiceA: @Injectable({ providedIn: “root” }), 在root进行提供;
    另外一个angular application项目,包含
  • ModelB:
    • imports: [ ModuleA ], 导入了ModuleA;
  • ComponentB:
    • 构造函数中注入 ComponentA;
    • 构造函数中注入 ServiceA;

这样的项目结构不能正常运行,Chrome报错
Error:
StaticInjectorError(AppModule)[MesignAuthDialog -> MatDialogRef]:
StaticInjectorError(Platform: core)[MesignAuthDialog -> MatDialogRef]:
NullInjectorError: No provider for MatDialogRef!

写回答

1回答

接灰的电子产品

2019-01-19

在 b 中 import dialog module 或者在 a 中 export dialogmodule,这个错误是对话框的引用无法得到,这是因为没有直接导入 dialogmodule 造成的

0
0

Angular打造企业级协作平台,让你在Angular领域中出类拔萃

全网首个介绍官方 Material 组件库用法与 Redux 在 Angular 中的应用

998 学习 · 536 问题

查看课程