首页 > 解决方案 > 为什么不在 Angular 中使用 new 运算符来创建依赖?

问题描述

当我们使用constructor(private dep: Dep) {}语法时,我们获得了诸如易于调试/测试之类的优势,并且我们的消费者不会与依赖关系高度耦合。

如果我们需要将 dep 的名称从 更改DepNewDep,我们需要在使用它的任何地方更改此名称。

但是,如果我们使用 DI 模式,它的工作原理是否相同?我们需要更改constructor(private dep: Dep) {}constructor(private dep: NewDep) {}.

为什么我们在不使用 DI 模式来创建和注入依赖项的情况下进行耦合?

标签: angulardependency-injection

解决方案


在 Angular 中,服务应该是单例的,这意味着服务的实例应该被重用。我们可以使用 DI 注入该实例。我们可以提供根级别或模块级别的数据。最好的方法是使用--> enter code here @Injectable({ providedIn: 'root' })


推荐阅读