循环依赖,如何摆脱
circular dependency, how to get rid
我试图在 stackblitz 中重现该问题,但我在 blitz 中没有收到警告..
基本上,
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';
它对我来说看起来是循环的,但是在我的应用程序中我有警告的地方,我在 stackblitz 中没有。
这是正确的实施方式吗?
修复方法是删除
@Injectable({
providedIn: MyModuleModule
})
但这是否使我的服务在每个模块中都提供?或者 none 个?
只做服务
providedIn: 'root'
需要在某处提供服务,否则依赖注入不知道从哪里获取实例。摆脱 providedIn: MyModuleModule 时,将其添加到依赖项的构造函数列表时会出错。 providedIn: 'root' 表示不需要添加到任何模块中。
我试图在 stackblitz 中重现该问题,但我在 blitz 中没有收到警告..
基本上,
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';
它对我来说看起来是循环的,但是在我的应用程序中我有警告的地方,我在 stackblitz 中没有。
这是正确的实施方式吗?
修复方法是删除
@Injectable({
providedIn: MyModuleModule
})
但这是否使我的服务在每个模块中都提供?或者 none 个?
只做服务
providedIn: 'root'
需要在某处提供服务,否则依赖注入不知道从哪里获取实例。摆脱 providedIn: MyModuleModule 时,将其添加到依赖项的构造函数列表时会出错。 providedIn: 'root' 表示不需要添加到任何模块中。