什么's angular的优点;当我可以在es6中使用导入/导出时,s依赖项注入

What's the advantages of angular's dependency injection when I can use import/export in es6

本文关键字:导入 注入 依赖 es6 angular 什么 我可以      更新时间:2023-09-26

我刚搬进一家使用AngularJS(1.x)堆栈的公司。来自es6(babel)+webpack+redux+react背景,我想知道当我可以简单地导入/导出文件时,使用AngularJS依赖注入有什么好处。坦率地说,导入/导出为我提供了要查找的文件位置,但AngularJS依赖注入似乎没有考虑到这一点。(此外,angularJS服务、工厂等似乎可以用ES6类、出口/进口等进行替换。)

使用AngularJS依赖项注入和AngularJS特定依赖项(如$http等),而不是使用替代项,有什么明显的好处吗?(如jquery的ajax等)

谢谢:)

模块加载和依赖注入是两种不同的想法。

模块加载是关于定位源的。DI是关于自动将对象连接在一起。

Angular允许您指定一个提供程序,使您能够在注入之前配置代码。我建议你看看这个链接。

https://docs.angularjs.org/guide/providers

angular的DI框架的另一个价值是使编写测试变得更容易,因为您可以轻松地替换服务。

至于放弃特定于Angular的服务,我建议不要这样做,因为这些服务没有连接到您的作用域中,所以您可能不得不到处调用$scope.apply()。

尽管如此,您可能会认为DI在Javascript这样的语言中用处不大,因为它不是Java和C#这样的类驱动的。