我试图在stackblitz中重现该问题,但闪电战中没有警告。
基本上,
my-module.module.ts导入组件,因此要依赖它
import { MyComponentComponent } from './my-component/my-component.component';
组件,使用服务
import { MyServiceService } from '../my-service.service';
该服务具有
@Injectable({
providedIn: MyModuleModule
})
因此取决于模块
import { MyModuleModule } from './my-module.module';
对我来说,它看起来像是圆形的,但是在我的应用程序中有警告的地方,我没有出现堆栈闪电问题。
这是正确的实现吗?
一个解决方法是删除
@Injectable({
providedIn: MyModuleModule
})
但这是否使我的服务在每个模块中提供?还是没有?
答案 0 :(得分:2)
只需提供服务
providedIn: 'root'
需要在某处提供服务,否则依赖项注入不知道从何处获取实例。当您将providerIn:MyModuleModule添加到依赖项的构造函数列表时,它将出错。 includedIn:'root'表示不需要将其添加到任何模块中。