【发布时间】:2017-05-09 05:41:45
【问题描述】:
我最近使用 AngularJS 和 ES6 创建了一个新项目。这是我的第一个 ES6 项目,我对它的 import 语句非常满意。以前我必须使用 AngularJS 依赖注入才能在我的应用程序逻辑中使用不同的服务。现在我可以使用 ES6 导入轻松导入不同的服务。问题是我是否允许编写非角度服务并使用import 导入它们,或者我必须以角度服务(或工厂)格式编写它们,并使用依赖注入来导入?
【问题讨论】:
-
依赖注入和导入甚至没有远程相关。您将同时使用两者。
-
是的,我两个都用。但我的问题是关于在控制器中要求服务。我可以编写角度服务并将其注入控制器,或者我可以编写一个普通的 JS 类或函数并将其导入以在控制器中使用。我问在AngularJS中使用import而不是AngularJS DI是否是一种反模式。 @zeroflagL
-
我认为这是一个非常有效的问题。我也在寻找这个问题的答案。
-
我正在使用带有 Angular 1.6.x 的 webpack,我退出使用 Angular DI 以支持 ES6 导入。当我需要一些像 $http、$q 等 ng 服务时,我会使用 angular.injector 函数直接注入它们。不知道这是否不是最佳实践,但它的效果非常好。
标签: angularjs dependency-injection import ecmascript-6