angular - 为什么不在 Angular 中使用 new 运算符来创建依赖?
问题描述
当我们使用constructor(private dep: Dep) {}
语法时,我们获得了诸如易于调试/测试之类的优势,并且我们的消费者不会与依赖关系高度耦合。
如果我们需要将 dep 的名称从 更改Dep
为NewDep
,我们需要在使用它的任何地方更改此名称。
但是,如果我们使用 DI 模式,它的工作原理是否相同?我们需要更改constructor(private dep: Dep) {}
为constructor(private dep: NewDep) {}
.
为什么我们在不使用 DI 模式来创建和注入依赖项的情况下进行耦合?
解决方案
在 Angular 中,服务应该是单例的,这意味着服务的实例应该被重用。我们可以使用 DI 注入该实例。我们可以提供根级别或模块级别的数据。最好的方法是使用-->
enter code here
@Injectable({ providedIn: 'root' })
推荐阅读
- xcode - Swift 5.0 为存储在 EnvironmentObject 中的数组对象赋值的最佳方法
- css - 100vh以下的html空白覆盖背景图像,导致滚动条
- r - 连续计算天数,但在同一天保持计数
- javascript - 无法弄清楚为什么我的 ROT13 转换器适用于小写,但不适用于大写
- python - 使用线程在 ZeroMQ REQ/REP 模式的服务器端创建许多应答器套接字
- arrays - 通过任意长度数组的扩展欧几里得算法找到 Bezout 系数
- javascript - 使用 ACE 语法高亮用于 Flask-Admin 字段覆盖
- php - CakePHP:使用条件参数检索列表
- c# - Await Task.WhenAll(BatchList) - 代码在 Redis 缓存更新之前继续
- javascript - 如何从 React redux reducer 正确返回不可变数据