Angular文档显示了一个示例,该示例@inject
在您不注入类的时候在构造函数中使用值(配置对象)。
https://angular.io/guide/dependency-injection#non-class-dependencies
我能够使它起作用,但是我不确定我是否理解此用例的意义。因为它不是创建实例的类-只是要读取的配置对象,所以为什么我不导入它并在需要的地方读取它。无论如何,我都必须导入该类,即使要将值注入构造函数中也是如此。
这是否只是为了确保该值在类开始构建时就可用,因为它在构造函数中?
我只是不确定我是否看到了DI的价值,并觉得我可能缺少了一些东西。
DI主要是关于可测试性。您可以轻松覆盖测试中的提供程序。
如果直接访问值,则需要修改要测试的类或组件的代码,以自定义测试行为。
还有其他优点,例如能够在中央位置(您在其中指定提供程序的地方)配置应用程序以针对不同用例自定义应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句