Angular 文档展示了一个在不注入(inject)类时在构造函数中使用 @inject
注入(inject)值(配置对象)的示例。
https://angular.io/guide/dependency-injection#non-class-dependencies
我能够让它工作,但我不确定我是否理解这个用例的要点。因为它不是一个创建实例的类,它只是一个正在读取的配置对象,为什么我不直接导入它并在需要的地方读取它。无论如何,即使我想将值注入(inject)到构造函数中,我也必须导入该类。
这是否只是为了确保该值在类开始构建时可用,因为它位于构造函数中?
我只是不确定我是否看到了 DI 的值(value),并且觉得我可能错过了一些东西。
最佳答案
DI 主要是关于可测试性。您可以轻松地覆盖测试中的提供程序。
如果直接访问值,则需要修改正在测试的类或组件的代码,以便自定义测试行为。
还有其他优点,例如能够在中心位置(您指定提供程序的位置)配置应用程序,以便针对不同的用例进行自定义。
关于angular - 为什么我应该在简单的对象配置上使用 Angular 的依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965277/